2009-08-22 11 views
1

ドラッグドロップ例外を使用してIDEの外部で実行すると、私のwinformアプリケーションが失敗します。 IDE内部で実行中にエラーは発生しません(VS2008)。どのように私はこれをトレースすることができます。エラーが表示されたエラーボックスでJITを使用していることに言及しました。これは私の問題をトレースするのに役立ちますか?winformアプリケーションの例外DragDropはIDEの外で発生します

+0

Yeh、JITメッセージからスタックを取得し、問題が発生した関数呼び出しと行番号までトレースすることができます。 – ThePower

答えて

1

これは役に立ちそうですが、しばらく前に、私のWinFormsアプリケーションが完全なシステムではなく親指ドライブ上で実行されていたとき、私はDragDropExceptionを取得していました。エラーを生成するフォームにドラッグアンドドロップ機能はありませんでした。私は問題を理解したことはありませんが、そのフォーム上のUserControlが不必要にAllowDrop = trueをデフォルトに設定していることがわかりました。一度それをオフにすると、問題はなくなりました。

フォームがドラッグアンドドロップをサポートすることを意図している場合は、例外を生成するフォームがインスタンス化されているスレッドを調べます。私の理解は、マイクロソフトのドラッグアンドドロップの実装はCOMベースであり、STAスレッドで初期化する必要があります。あなたのプログラムのエントリーポイントの前に[STAThread]属性を置くことでこれが達成されます。

関連する問題