答案 0 :(得分:2)
我也在学习ATL编程并遇到问题 它不是连接点错误 在连接点向导中,应选择“可用类型库”为“PolygonLib< 1.0>”。默认情况下,它是“imbeded IDL”。
答案 1 :(得分:2)
vs2012中的解决方法:在“实施连接点”http://msdn.microsoft.com/en-us/library/s7zd1wd1.aspx
中在第3步之前:
3.pre(不要在'可用类型库'下选择'嵌入式IDL',而是选择项目的类型库)
如果我们选择typelib,将生成Fire_ *方法。
答案 2 :(得分:1)
我有类似的问题。确保通过右键单击类视图中xxxLib类下的_IxxxEvents
来添加连接点方法。您将看到添加到dispinterface _IxxxEvents
... methods:部分的方法。如果方法代码存根实际上是在代码中的其他位置创建的,则事件方法添加错误,并且不会生成Fire_
方法。
答案 3 :(得分:0)
但我遇到了不同的情况。我在XXXLib / IXXXEvent中添加了新方法,它们自动添加到XXX.idl中,标签为“dispinterface IPolyCtlEvents”。但是在我按照MSDN指南添加方法之后说,Fire 方法没有添加到_xxxEvent_CP.H中。所以我在IXXXEvent中添加新方法而不是XXXLib / IXXXEvent,问题就解决了。