1

私はアプリケーションを使用していましたが、それは完璧に機能していました。数ヶ月使用しなかった後、実行しようとしましたが、機能しません。COMオブジェクトをインスタンス化できないことを示すメッセージボックスが表示されます。

COMオブジェクトのエラーを追跡する方法を知っていますか?

4

2 に答える 2

1

COMオブジェクトDLLでDependsツールを実行して、必要なすべてのdllが含まれていることを確認し、COM dll/exeを再登録します。

デバッグ/ログからのHRESULTSはありますか?アパートモデルに変更はありますか?

一度設定したアパートのタイプは変更できません。したがって、オブジェクトがモデルの1つを使用できず、それをCoCreateしようとすると、失敗します。そのため、DLLメインスレッド内からCoInitを呼び出すことはありません。

于 2010-12-22T18:22:38.810 に答える
1

ProcessMonitorを使用して、正しくない可能性のあるレジストリキーを見つけてください。もう1つのオプションは、http://www.moduleanalyzer.comを使用することです。これは、作成されたすべてのCOMオブジェクトと戻り値を表示するCoCreateInstanceをインターセプトします。

于 2010-12-22T20:10:03.073 に答える