请问在一个ATL工程中在某个接口类中引用同工程中另一个接口类的问题!

sproll 2003-10-22 05:46:43
小弟创建了一个ATL工程,然后加了一个ParaClass的ATL对象,并为该对象加一个方法MethodTest,
然后我又加了一个ClassSample的ATL对象,并为该对象加一个方法:
[id(1), helpstring("method MainMethod")] HRESULT MainMethod([in] IParaClass** pclsTest);
该方法接收一个ParaClass对象作为参数,并打算在该方法中调用ParaClass对象的MethodTest方法,请问小弟该如何写代码?MainMethod方法的实现代码如下:

STDMETHODIMP CClassSample::MainMethod(IParaClass **pclsTest)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())

//请问如何调用ParaClass的方法?跪求!

return S_OK;
}
...全文
30 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
sproll 2003-10-23
  • 打赏
  • 举报
回复
血血各位大虾,小弟已经解决了:ParaClass的C++类是CParaClass,它的接口是IParaClass,因为我要在CClassSample的接口函数中接收这个ParaClass的对象,所以参数就设成了IParaClass **类型,然后要通过这个IParaClass **二级指针,来调用其C++类CParaClass的成员函数或者它的成员变量。
偶现在明白怎么做了!
血血!!!
ldsjlzy 2003-10-22
  • 打赏
  • 举报
回复
同意楼上的,不过楼主这种调用方式好象很别扭.
Analyst 2003-10-22
  • 打赏
  • 举报
回复
STDMETHODIMP CClassSample::MainMethod(IParaClass **pclsTest)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
(*pclsTest)->MethodTest();
return S_OK;
}

这样定义更简单
STDMETHODIMP CClassSample::MainMethod(IParaClass* pclsTest)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
pclsTest->MethodTest();
return S_OK;
}
天限天空 2003-10-22
  • 打赏
  • 举报
回复
Iyy *pIyy;
CXXX::CreateInstence(&pIyy);
pIyy->fun();

...

pIyy->Release();

3,245

社区成员

发帖
与我相关
我的任务
社区描述
ATL,Active Template Library活动(动态)模板库,是一种微软程序库,支持利用C++语言编写ASP代码以及其它ActiveX程序。
社区管理员
  • ATL/ActiveX/COM社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧