【发布时间】:2010-11-12 18:27:21
【问题描述】:
我有一个 ATL/COM 项目,在 VC++ 6 中。我想要一个现有的类,它以前从未被定义为引发事件,引发事件。为此,该类必须实现一个“连接点”。
这些事件属于以前没有任何类引发过的类型,因此我将不得不创建一个新的连接点,而不是重用现有的连接点。
我知道如何让一个类实现一个连接点 - 在类视图中右键单击该类,选择“实现连接点”,然后从它显示的列表中选择适当的连接点。
我知道如何创建一个新的连接点,只要它与一个新的 ATL 类相关联来实现它 - 在创建类时选中“支持连接点”。
但我不知道如何创建一个新的连接点创建一个新的 ATL 类来实现它。
我已修改 IDL 以包含类似于现有连接点定义的内容:
[
uuid(*blah blah blah*),
helpstring("_IBlahEvents Interface")
]
dispinterface _IBlahEvents
{
properties:
methods:
[id(1), helpstring("method BlahChanged")] HRESULT BlahChanged();
};
(显然我有一个真正的 uuid,而不是“blah blah blah”)。
完成此操作后,_IBlahEvents 界面会显示在类视图中。但是当我右键单击要实现_IBlahEvents的ATL类,并选择“实现连接点”时,_IBlahEvents并没有出现在现有连接点列表中。
我已经重新编译,包括清理和重建所有。
我错过了什么?
谢谢。
【问题讨论】:
标签: visual-c++ com atl connection-points