0

COM に登録された dll を使用して autocad を駆動する外部アプリケーションを作成しました。このコードに従ってアプリケーションを作成しましたが、次のコードを 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;
4

1 に答える 1

1

の 2 番目のインスタンスを作成DocumentManagerし、最初のインスタンスから取得したオブジェクトへの参照を与えます。使いたいと思います

dm.MdiActiveDocument = doc;
于 2012-01-10T10:24:50.923 に答える