我一直在尝试使用 MFC 为第三方 COM 组件实现连接点接收器。我之前开发过一些 COM 组件,虽然连接点接收器不是我精通的东西。在我的头撞墙一段时间后,我决定回到基础并找到这个 Microsoft 示例:
https://support.microsoft.com/en-us/kb/183599
这似乎与我正在尝试做的最相似。我试图完全按照描述重现该示例。虽然我的 MS Word 版本是 2010,但引用的界面似乎仍然有效。我尽职尽责地按照说明进行操作,将代码剪切并粘贴到我自己的项目中,只需要对宽字符串进行调整。编译后,我可以启动 word app 并退出它,但我没有收到连接点事件,这毕竟是重点。我认为问题可能出在函数 dispid 上,所以我尝试将 DISP_FUNCTION_ID 条目添加到调度图中;但这只会导致 oledisp1.ccp 第 549 行上的断言,该断言位于 CCmdTarget::GetStackSize 函数中。
我敢肯定这很简单,但我就是无法让它工作。有人可以帮我弄清楚示例中缺少什么吗?谢谢。