读书人

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

发布时间: 2013-12-20 00:23:10 作者: rapoo

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接口。

读书人网 >VC/MFC

热点推荐