作成した SharpDX プログラムで奇妙なエラーが発生します。
プログラムにはMainForm
、から継承する1つのフォームが含まれていますSharpDX.Windows.RenderForm
(私はDirect3D 9をやっています)。を呼び出してプログラムを強制終了するロジックがいくつかMainForm.Close()
あり、完全に機能します。
ただし、X ボタンでフォームを閉じるか、画面の左上隅をダブルクリックしてフォームを閉じると、プログラムはコード -1073610751 (0xc0020001) で終了します。
これは、プログラムが終了しているときにのみ発生するため、比較的小さな煩わしさです。実際には終了しているため、エラーで終了しても問題ありません。
ただし、このエラーは、の最後の行にブレークポイントを設定すると発生しませんMain()
。そうしてから、説明したようにウィンドウを閉じると、ブレークポイントにヒットし、再開するとプログラムがコード 0 で終了します。
SharpDX と 1 つの純粋な C DLL を除いて、一部のデータをワンショット処理するために呼び出しています。混合コードやその他の奇妙なことは行っていません。
私は周りを見回しましたが、このコードは文字列バインディングに関連しているように見えますか? 他の人は、奇妙な C++/CLI の混合作業を行うときにこの問題を抱えているようですが、私はそのようなことはしていません。
何か案は?少なくとも、このエラー コードに関するより簡潔な情報を取得する方法について教えてください。