随悦饮料 零售价:COM技术初探(三)

来源:百度文库 编辑:九乡新闻网 时间:2024/10/06 14:30:46
 

最新评论 [发表评论] [文章投稿] 查看所有评论 推荐给好友 打印
请问何时delete掉CMathFactory?? ( pop1210 发表于 2011-8-18 13:43:00)
 
CMath类的QueryInterface(REFIID riid, void **ppv)应修改如下:
  。。。。
   else if(riid == IID_IDispatch)
*ppv = static_cast(this);
...
否则,查询IDispatch接口的时候失败!
另外,应该把Release函数放到if(SUCCEEDED(hr))里面,只有这样才能释放指针,否则对一个空指针调用Release函数是不行的!
所以,main里面最后那些代码:
pAdvancedMath->Release();
pSimpleMath->Release();
pDispatch->Release();
应该选择一个适当的位置。
作者辛苦了,这些例子很有用! ( oken 发表于 2009-8-7 14:06:00)
 
在编译实现类厂即《三》之前的那段程序时总是出现问题
。说“0x1010bc“指令引用"0x0000000"内存。不能读取。

除了马上要抄上作者本人的源码了,总是出现这样的错误。不知为何。 ( firecityplans 发表于 2009-6-17 22:05:00)
 
这个里面怎么没有IID_IClassFactory ( firecityplans 发表于 2009-6-17 12:25:00)
 
大哥,用VC下的工具 OLE/COM Object Viewer打不开dll.
你有空还是看看啥,小弟们是解决不了这么高深的问题的 ( gpswhl2004 发表于 2008-4-18 15:35:00)
 
无法注册可能是因为你的MathCom.DEF文件没有添加到项目里面,加进去就好了,rikky1980:提出的错误要改过来,还有在MathFactor.cpp前要添加#include "stdafx.h"
( lifecat9 发表于 2007-6-28 14:51:00)
 
为什么例程运行都报系统出错?
debug发现都是
hr = ::CoGetClassObject(CLSID_MATHCOM,
        CLSCTX_INPROC,
NULL,
IID_IClassFactory,
(void**)&pClassFactory);
这行出错,说是MathCOM无法注册。
这是什么原因呢? ( eric_tsing 发表于 2006-12-13 17:03:00)
 
thanks CMath类的QueryInterface(REFIID riid, void **ppv)应修改如下:
  。。。。
   else if(riid == IID_IDispatch)
*ppv = static_cast(this);
。。。。。 ( zhangyaowen 发表于 2006-1-31 17:41:00)
 
确实很爽,感谢作者的劳动 ( xxwxxw123 发表于 2005-1-19 13:48:00)
 
看得很爽哦 ( siyang812 发表于 2004-11-29 21:40:00)
 
.......................................................
More...

版权所有 © 1999 - 2011 VC知识库