标签: connection-points

无法使ATL连接点正常工作

我正在尝试使用ATL创建一个COM组件,我想为我的VB客户端引发事件.我发现了很多教程,所有这些教程的细节都各不相同,但它们似乎都没有产生可行的解决方案.这是我在做的事情:

(使用Visual Studio 2008):

  1. 创建一个新的ATL DLL项目.我打电话给它ATLEventTest.
  2. 类视图:右键单击ATLEventTest,添加了一个新的ATL简单对象类.我叫这个MyObject,它产生的CMyObject,IMyObject等...
  3. 该对象创建于:a)公寓线程b)聚合c)双界面d)ISupportErrorInfo e)连接点

  4. 右键单击CProxy_IMyObjectEvents<T>,单击"添加功能"

  5. 函数是void返回类型,命名someEvent,并采用int testParam.
  6. 重建.
    (此时,我应该可以在某个地方看到'实施连接点'.我不......)
  7. 右键单击CMyObject.'添加连接点'
  8. "移动_IMyObjectEvents"在进入名单.
  9. 在我的解决方案中进行了代码搜索.找不到someEvent任何地方!
  10. someEvent再次添加了该功能.现在,它可以在ATLEventTest_i.h中找到
  11. 应该可以fire_someEvent(...)在我的代码中调用,但不能.

这让我疯狂,试图让它发挥作用.如果有人能看到我做错了什么,我会感谢任何更正,提示,黑客等.

在这一点上,我很想说要搞砸巫师,并试着直接修改c ++和idl,但我有一种可能不太好的感觉:(

c++ com events atl connection-points

3
推荐指数
1
解决办法
3736
查看次数

标签 统计

atl ×1

c++ ×1

com ×1

connection-points ×1

events ×1