我正在尝试使用ATL创建一个COM组件,我想为我的VB客户端引发事件.我发现了很多教程,所有这些教程的细节都各不相同,但它们似乎都没有产生可行的解决方案.这是我在做的事情:
(使用Visual Studio 2008):
ATLEventTest.ATLEventTest,添加了一个新的ATL简单对象类.我叫这个MyObject,它产生的CMyObject,IMyObject等...该对象创建于:a)公寓线程b)聚合c)双界面d)ISupportErrorInfo e)连接点
右键单击CProxy_IMyObjectEvents<T>,单击"添加功能"
someEvent,并采用int testParam.CMyObject.'添加连接点'_IMyObjectEvents"在进入名单.someEvent任何地方!someEvent再次添加了该功能.现在,它可以在ATLEventTest_i.h中找到fire_someEvent(...)在我的代码中调用,但不能.这让我疯狂,试图让它发挥作用.如果有人能看到我做错了什么,我会感谢任何更正,提示,黑客等.
在这一点上,我很想说要搞砸巫师,并试着直接修改c ++和idl,但我有一种可能不太好的感觉:(