3

起動時にバイナリ ファイルからデータを読み取るプラグインを作成しています。起動時に、ファイルからデータを読み取り、ユーザーにテーブル内のデータを表示する場所を選択するように求めます。プラグインは、プログラムによってフォームを最小化し、AutoCAD のコマンド ラインでユーザーに、テーブルがあるはずのポイントを選択するように求めます。

WindowsDoors f = (WindowsDoors)WindowsDoors.ActiveForm;
f.WindowState = FormWindowState.Minimized;
pr = ed.GetPoint("\nEnter table insertion point: ");

ただし、フォームを最小化するために示されているコードの中央行を実行しようとすると、AutoCAD がクラッシュし、「致命的なエラー: 206206edh で 0x0000 例外を読み取っている未処理のアクセス違反」というダイアログ ボックスが表示されます。

WindowsDoors f オブジェクトをプログラムで混乱させても問題ないようにプログラムで設定する必要があると思いますが、私が正しいかどうか、またはそうである場合はどうすればよいかわかりません

4

1 に答える 1

1

フォーム内からエディターに戻りたい場合は、

Editor.StartUserInteraction(これ)

これがアクティブなフォームです。これにより、フォームが非表示になり、フォーカスが AutoCAD に戻ります。

http://adndevblog.typepad.com/autocad/2012/05/taking-mouse-inputs-from-a-modal-dialog-box.htmlでサンプルを参照してください。

于 2015-04-29T12:17:26.543 に答える