我已经编写了一个外部应用程序来驱动autocad,其中包含为COM注册的dll。我跟着this codes编写了我的应用程序但是我用AddNumbers()方法替换了下面的代码:
public string OpenDWGFile(string MyDWGFilePath)
{
DocumentCollection dm = Application.DocumentManager;
Document doc = null;
if(File.Exists(MyDWGFilePath))
{
doc = dm.Open(MyDWGFilePath, false);
Application.DocumentManager.MdiActiveDocument = doc;
return "This file is exists";
}
else
return "This file is not exist";
}
但是当我运行我的应用程序时,autocad软件打开然后立即关闭并显示此错误消息:调用目标已抛出异常。
但如果我评论我的代码的以下行,应用程序可以正常运行:
doc = dm.Open(MyDWGFilePath, false);
Application.DocumentManager.MdiActiveDocument = doc;
答案 0 :(得分:1)
您正在创建DocumentManager
的第二个实例,并为其提供对从第一个实例检索的对象的引用。我想你想用
dm.MdiActiveDocument = doc;