【问题标题】:Add connection point bug?添加连接点错误?
【发布时间】:2011-03-20 13:48:15
【问题描述】:

今天我必须通过 MSDN 的 ATL 教程,但遇到了一个问题。不幸的是,我不是真正的 C++ 开发人员,我自己也做不到。

Step 5 添加连接点时,向导会创建 _IPolyCtrlEvents_CP.H 但它没有实现 Fire_ClickIn 和 Fire_ClickOut 方法。我怎样才能实现它们?

我正在使用 VS2010。

感谢您的建议:)

【问题讨论】:

  • 已经找到答案了。在 VS2010 示例中。但就我而言,这绝对是 Studio 的添加连接点向导有问题。 :(
  • 你做了什么来修复它?遇到同样的问题...

标签: visual-studio-2010 atl


【解决方案1】:

我也在学习 ATL 编程,也遇到了这个问题。
这不是连接点错误。
在连接点向导中,您应该选择“可用类型库”为“PolygonLib”。默认情况下,它是“嵌入式 IDL”。

【讨论】:

    【解决方案2】:

    vs2012 中的解决方法:在“实施连接点”http://msdn.microsoft.com/en-us/library/s7zd1wd1.aspx

    第 3 步之前:

    3.pre(不要在“可用类型库”下选择“嵌入式 IDL”,而是选择项目的类型库)

    如果我们选择 typelib,就会生成 Fire_* 方法。

    【讨论】:

      【解决方案3】:

      我有类似的问题。确保通过右键单击类视图中 xxxLib 类下的 _IxxxEvents 添加连接点方法。您将看到添加到 dispinterface _IxxxEvents ... methods: 部分的方法。如果方法代码存根实际上是在代码的其他地方创建的,则事件方法添加不正确,不会生成Fire_方法。

      【讨论】:

        【解决方案4】:

        但我遇到了不同的情况。我在 XXXLib/IXXXEvent 中添加了新方法,它们被自动添加到 XXX.idl 中,带有标签“dispinterface IPolyCtlEvents”。但是在我按照 MSDN 指南添加方法之后,Fire 方法没有添加到 _xxxEvent_CP.H。于是我在IXXXEvent而不是XXXLib/IXXXEvent中添加了新方法,问题就解决了。

        【讨论】:

          猜你喜欢
          • 2014-07-16
          • 2015-08-20
          • 2017-02-22
          • 1970-01-01
          • 1970-01-01
          • 2022-01-22
          • 2013-06-02
          • 2015-03-14
          • 1970-01-01
          相关资源
          最近更新 更多