二次开发visio添加右键菜单响应事件错误

来源:互联网 发布:网络销售工资高吗 编辑:程序博客网 时间:2024/06/05 15:15
 

按照visio 2007SDK上添加event的方式添加了两个类EventSink和ShapeRightMouseAction用来实现右键功能,但运行DemoShapeRightMouseAction函数在applicationEventList.AddAdvise((short)Microsoft.Office.
Interop.Visio.VisEventCodes.visEvtApp +(short)Microsoft.Office.Interop.Visio.VisEventCodes.visEvtMarker, eventHandler, "", "");时出现错误,无法正常运行,经过查找相关资料终于解决此问题,把解决方案写出来,希望能帮助被同类问题困扰的朋友。

解决方法:

在EventSink类外面添加一行[System.Runtime.InteropServices.ComVisible(true)]。

错误原因:

自己设置的对象对Visio COM控件是非可视的,导致AddAdvise运行时COM抛出异常。

非常感谢Bill Morein's Weblog帮助我解决了困惑2天的问题。

http://blogs.msdn.com/b/wmorein/archive/2006/06/07/621011.aspx

原创粉丝点击