Delphi で作成した C# プログラムで、activex コンポーネントを使用しています。多くの場合は正常に動作しますが、時折 (時には頻繁に!) コンポーネントが次の例外でクラッシュします:
例外 EOSError (OS 関数の呼び出しに失敗しました)(0)
これにより、プログラムが再起動されるまで、コントロールが使用できない状態になります。エラーを再現できる韻や理由はないようです。
何か案は?
制御された環境で問題を再現できる場合は、MadExceptなどのツールを使用してエラー状況からコールスタック情報を取得すると、問題の正確な理由を突き止めるのに役立つ場合があります。
以前 (< Windows NT) は、マシンのリソースが不足しているときに、上記のエラーが発生することがありました。ActiveX コントロールがウィンドウ ハンドルをリークしている可能性はありますか? MemProof のようなツールは、それらを追跡するのに役立つかもしれません。