|
运行时出现错误,是第一句的,请问高手如何解决
AcadApplication app = (AcadApplication)Marshal.GetActiveObject(".Application.17");
AcadMenuBar menuBar = app.MenuBar;
AcadMenuGroup menuGroup = app.MenuGroups.Item(0);
AcadPopupMenus menus = menuGroup.Menus;
AcadPopupMenu mymenu = menus.Add("我的菜单");
mymenu.AddMenuItem(0,"第一个菜单", "hello");
mymenu.AddSeparator(1);
mymenu.AddMenuItem(2, "2", "hello");
AcadPopupMenu ext = mymenu.AddSubMenu(3, "Ext");
ext.AddMenuItem(0, "Hello", "hello");
ext.AddSeparator(1);
ext.AddMenuItem(2, "Hello2", "hello");
mymenu.InsertInMenuBar(menuBar.Count - 2);
app.Application.Update();
另请问上面加载菜单至主菜单的方法正确吗?
错误信息如下:
应用程序不支持实时(JIT)调试。
有关详细信息,请参见此消息的结尾。
************** 异常文本 **************
System.Reflection.TargetInvocationException: 调用的目标发生了异常。 ---> System.InvalidCastException: 无法将类型为“System.__ComObject”的 COM 对象强制转换为接口类型“Autodesk.AutoCAD.Interop.AcadApplication”。此操作失败的原因是对 IID 为“{93BC4E71-AFE7-4AA7-BC07-F80ACDB672D5}”的接口的 COM 组件调用 QueryInterface 因以下错误而失败: 不支持此接口 (异常来自 HRESULT:0x80004002 (E_NOINTERFACE))。
在 ClassLibrary.Class.AddMenuCom() 位置 E:\CAD2007 Lab\CAD_lab2\CAD_lab2\Class.cs:行号 160
--- 内部异常堆栈跟踪的结尾 ---
在 System.RuntimeMethodHandle._InvokeMethodFast(Object target, Object[] arguments, SignatureStruct& sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
在 System.RuntimeMethodHandle.InvokeMethodFast(Object target, Object[] arguments, Signature sig, MethodAttributes methodAttributes, RuntimeTypeHandle typeOwner)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture, Boolean skipVisibilityChecks)
在 System.Reflection.RuntimeMethodInfo.Invoke(Object obj, BindingFlags invokeAttr, Binder binder, Object[] parameters, CultureInfo culture)
在 System.Reflection.MethodBase.Invoke(Object obj, Object[] parameters)
在 AcMgCommandClass.InvokeWorker(AcMgCommandClass* , MethodInfo mi, Object commandObject, Boolean bLispFunction)
在 AcMgCommandClass.Invoke(AcMgCommandClass* , gcroot* mi, Boolean bLispFunction)
在 Autodesk.AutoCAD.Runtime.TargetInvocationSEHExceptionFilter.InvokeWorker()
在 Autodesk.AutoCAD.Runtime.ExceptionFilter.Invoke()
************** 已加载的程序集 **************
mscorlib
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.42 (RTM.050727-4200)
基本代码:
----------------------------------------
acdbmgd
程序集版本: 17.0.54.0
Win32 版本: 17.0.54.0
基本代码:
----------------------------------------
msvcm80
程序集版本: 8.0.50727.762
Win32 版本: 8.00.50727.762
基本代码:
----------------------------------------
System
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.42 (RTM.050727-4200)
基本代码:
----------------------------------------
System.Xml
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.42 (RTM.050727-4200)
基本代码:
----------------------------------------
System.Drawing
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.42 (RTM.050727-4200)
基本代码:
----------------------------------------
System.Windows.Forms
程序集版本: 2.0.0.0
Win32 版本: 2.0.50727.42 (RTM.050727-4200)
基本代码:
----------------------------------------
acmgd
程序集版本: 17.0.54.0
Win32 版本: 17.0.54.0
基本代码:
----------------------------------------
AcDxUi
程序集版本: 17.0.54.0
Win32 版本: 17.0.54.0
基本代码:
----------------------------------------
AcDx
程序集版本: 17.0.54.0
Win32 版本: 17.0.54.0
基本代码:
----------------------------------------
本帖以下内容被隐藏保护;需要你回复后,才能看到! 游客,如果您要查看本帖隐藏内容请 回复 |
|