写了一个COM组件,支持事件,在事件的参数列表中返回一个内部的COM对象, 也就是使用CComObject<type>::CreateInstance来创建的, 这个内部的对象支持IDispatch接口, 通过单步调试, 在VB.net中事件是可以被触发的, 但是参数对象总是Nothing,我的Fire_XXX(IDispatch* pDisp)函数是这样定义的, VB.net中事件是以这样的格式定义的:
对象变量名_事件名(ByVal 参数名 as Object) Handles 对象变量名.事件名, 请问有谁做过这方面的程序, 或者知道, 请指教,谢谢了.
对象变量名_事件名(ByVal 参数名 as Object) Handles 对象变量名.事件名, 请问有谁做过这方面的程序, 或者知道, 请指教,谢谢了.
CComObject<Cxxx>::CreateInstance(&obj);
obj->AddRef(); // 这句是必须的Fire_SomeEvent((IDispatch*)obj);obj->Release(); // 这句也是必须的