wid*_*yer 6 .net c# com events interop
我试图挂钩COM对象上的事件时收到COM异常.这是我试图执行的代码.
COMClass a = IComClass as ComClass;
a.SomeEvent += new SomeEvent_EventHandler(MethodNameHere);
第二行使用以下信息抛出COMException类型的异常:
System.Runtime.InteropServices.COMException被捕获
消息="来自HRESULT的异常:0x80040202"
来源= "mscorlib程序"
错误码= -2147220990
堆栈跟踪:在System.Runtime.InteropServices.ComTypes.IConnectionPoint.Advise(对象pUnkSink,的Int32&pdwCookie)
有没有人有任何想法,为什么我无法挂钩到COM事件或是否有一个解决方法来挂钩COM事件?
克里斯
您得到的错误代码是 CONNECT_E_CANNOTCONNECT,Google 搜索得很好。它表明 COM 服务器对您订阅事件处理程序的尝试不满意。为什么不是,你需要找出答案。几乎总是需要从组件作者或供应商那里获得帮助。
您可以尝试的一件事是使用 Oleview.exe 查看类型库,并查明您尝试订阅的事件是否位于标记为默认源接口的调度接口上。如果不是,请尝试将对象强制转换为调度接口类型,然后订阅其事件。