1

我一直在尝试使用 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 函数中。

我敢肯定这很简单,但我就是无法让它工作。有人可以帮我弄清楚示例中缺少什么吗?谢谢。

4

1 回答 1

1

弄清楚了。我在正确的轨道上添加 DISP_FUNCTION_ID 宏到我的调度映射,但是我愚蠢地使用了 VT_VOID 而不是导致运行时断言的 VT_EMPTY。

于 2015-06-22T03:05:09.540 回答