首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > VC/MFC >

ATL 创建的 COM 内部每对象如何调用和传出

2013-12-20 
ATL 创建的 COM 内部每对象怎么调用和传出?本帖最后由 Lyout 于 2013-11-22 17:50:18 编辑比如我创建了两

ATL 创建的 COM 内部每对象怎么调用和传出?
本帖最后由 Lyout 于 2013-11-22 17:50:18 编辑 比如我创建了两个简单对象:
CObjectA,CObjectB,

CObjectA 里面有一个方法,想返回一个 CObjectB 对象:

比如:STDMETHODIMP CObjectA::GetObjectB 
这个GetObjectB的参数应该怎样写?方法里面怎么创建  CObjectB ,然后给这个方法的输出参数呢?

具体的意思就是在基他项目里面调用,比如 asp:

Set a  = Server.CreateObject("...A")
Set b = a.GetObjectB() atl
[解决办法]
C++对象不能被asp使用,你说的应该是asp调用activeX对象吧?
[解决办法]
STDMETHODIMP CObjectA::GetObjectB 

retutn (IUnkown*)theObjB;// theObjB必须是IUnknown类型的接口对象

[解决办法]
STDMETHODIMP CObjectA::GetObjectB 

retutn (IUnkown*)&theObjB;// theObjB必须是IUnknown类型的接口对象
} 
[解决办法]
你这个最好是在CObjectA内部创建CObjectB,然后把IDispath返回即可
[解决办法]
对象需要用IDispatch来做转换,返回
[解决办法]
这些对象创建必须派生IDispatch接口。

热点排行