读书人

小弟我想创建一个ActiveX控件然后有

发布时间: 2012-07-19 16:02:19 作者: rapoo

我想创建一个ActiveX控件,然后有个函数的返回值是一个自定义对象?
我想创建一个ActiveX控件,然后有个函数的返回值是一个自定义对象,这个怎么做?
比如ActiveX里面有个函数叫GetErrorInfo, 我的返回值想定义成自己写的类CErrorInfo,这个怎么弄,直接把这个类作为返回值是不行的吧?

[解决办法]
可以试试返回指针,也就是LONG 型看看
[解决办法]
GetErrorInfo()函数返回LPDISPATCH接口指针,即在该函数中建立一个COM对象,并返回该COM对象的接口指针,该接口指针是你的CErrorInfo对象的接口
[解决办法]
可以,但返回的不是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接口了。

读书人网 >VC/MFC

热点推荐