我想创建一个ActiveX控件,然后有个函数的返回值是一个自定义对象?

hbjxx638 2012-06-25 09:19:30
我想创建一个ActiveX控件,然后有个函数的返回值是一个自定义对象,这个怎么做?
比如ActiveX里面有个函数叫GetErrorInfo, 我的返回值想定义成自己写的类CErrorInfo,这个怎么弄,直接把这个类作为返回值是不行的吧?
...全文
95 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
牧童吃五谷 2013-08-12
  • 打赏
  • 举报
回复
首先你必须把你编写的需要返回的类继承接口IDispatch,然后函数参数采用PIDISIPATCH类型
happytengfei 2012-06-30
  • 打赏
  • 举报
回复
可以,但返回的不是CErrorInfo。具体方法如下:1 让你的ActiveX控件支持ISupportErrorInfo 2 让你的ActiveX控制支持IXXX接口,这个IXXX接口是你自己实现的一个接口,主要用来处理错误 3 在你的方法中创建IErrorInfo,并将IErrorInfo的GUID设置为IID_IXXX的值 4 在客户端通过GetErrorInfo得到IErrorInfo的值,通过IErrorInfo的GetGUID获取IID_IXXX接口的值 5 通过IUnknown的QueryInterface获取IXXX接口 至此你可以尽情的使用IXXX接口了。
牧童吃五谷 2012-06-30
  • 打赏
  • 举报
回复
GetErrorInfo()函数返回LPDISPATCH接口指针,即在该函数中建立一个COM对象,并返回该COM对象的接口指针,该接口指针是你的CErrorInfo对象的接口
fishion 2012-06-26
  • 打赏
  • 举报
回复
可以试试返回指针,也就是LONG 型看看

3,245

社区成员

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

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