创建带有连接点的简单 atl 对象 未生成火方法

Posted

技术标签:

【中文标题】创建带有连接点的简单 atl 对象 未生成火方法【英文标题】:create simple atl object with connection points Fire methods not being generated 【发布时间】:2013-03-10 06:48:20 【问题描述】:

我在 Visual Studio 2008 中创建了 ATL dll 项目,它生成了以下类...

模板 类 CProxy_IAutomateEvents : public IConnectionPointImpl //警告此类将由向导重新生成。 公开: ;

我已在 idl 中的 IAutomateEvents 调度接口中添加了方法并重新编译。我不知道如何让它生成 Fire_ 方法。它在说哪个巫师?我不想手动执行此操作,因为如果在某个时候运行所述向导,我可能会以可能已过时或被替换的方式执行此操作。 我发现所有关于右键单击类并选择添加连接点的东西,但该选项没有显示。帮忙?

【问题讨论】:

【参考方案1】:

当你更新事件接口时,代理类不会自动更新,所以当你完成更改后,你需要重新生成代理类,以便新的方法出现在上面。

要重新生成代理类,请打开项目的类视图,然后找到类并通过上下文菜单选择添加、添加连接点。不用担心已经实现的连接点,只要像第一次一样添加它。您的类将被更新,具有事件生成方法的代理类也将更新。

【讨论】:

【参考方案2】:

没关系。我的班级视图包括一个 CLASS 以及名为 IAutomate 的界面。那就是我右键单击不支持添加连接点的内容。我终于注意到了 CAutomate 类并右键单击它,选择添加连接点,然后点击完成,我的所有 Fire_ 功能现在都已实现。 对不起,如果我浪费了任何人的时间。

【讨论】:

以上是关于创建带有连接点的简单 atl 对象 未生成火方法的主要内容,如果未能解决你的问题,请参考以下文章

在 MFC+ATL EXE 中使用带有未注册接口的 IDispatchImpl

如何创建两个从另一个派生的 ATL 接口?

创建实现特定接口的 ATL COM 对象

从 ATL exe 服务器 (COM) 调用 .NET GUI

如何在 VS C++ 中使用 .tlb 类型创建接口方法?

ATL/COM 对象的链接方法