Microsoft Word连接点接收器示例/ MFC的问题

时间:2015-06-21 16:25:46

标签: c++ com mfc connection-points

我一直在尝试使用MFC为第三方COM组件实现连接点接收器。我以前开发过一些COM组件,虽然连接点接收器不是我精通的东西。在我的头撞墙一段时间之后,我决定回到基础并找到这个Microsoft示例:

https://support.microsoft.com/en-us/kb/183599

这似乎与我尝试做的最相似。我试图完全按照描述重现这个例子。虽然我的MS Word版本是2010,但引用的界面似乎仍然有效。我尽职地遵循了说明,将代码切割并粘贴到我自己的项目中,只需要对宽字符串进行调整。在编译之后,我可以启动单词app并退出它,但我没有收到连接点事件,这毕竟是重点。我想也许问题出在函数dispid上,所以我试图将DISP_FUNCTION_ID条目添加到Dispatch Map中;但这只是导致oledisp1.ccp第549行的断言,结果是在CCmdTarget :: GetStackSize函数中。

我确定这很简单,但我无法让它发挥作用。有人可以帮我弄清楚这个例子中缺少什么吗?感谢。

1 个答案:

答案 0 :(得分:1)

想出来。我正在将DISP_FUNCTION_ID宏添加到我的Dispatch映射中,但是我愚蠢地使用了VT_VOID而不是VT_EMPTY,这导致了运行时声明。