2011-08-05 69 views
1

.NETでCOM dllを作成し、すべてのCPUでビルドしました。私はVcppコードでCOM DLLを使用していますが、Microsoft C++例外を取得しています:COMクラスへのポインタ参照を作成するときにメモリ位置エラーで_com_errorが発生しました。ビルド設定がWin32の場合、VCPPコードは正常に動作しますが、設定をX64モードに変更するとアプリケーションがクラッシュします。Microsoft C++の例外:メモリ位置の_com_error

あなたがプロセスでいわゆる DLLを使用しているので

答えて

2

を助けてください、あなたはあなたのプログラムにそのDLLの64ビットバージョンを使用する必要があります。

This questionについて説明しています。 64ビットregasmツールを使用して.NET DLLを登録する必要があるようです。

+0

これを代理処理で使用するか、ホストします。 – sharptooth

+0

ポストをありがとう、問題は64ビットregasmを使用して解決されます。私は別のクエリを持っていて、多くのgoogleをやってみましたが成功しませんでした。私はVCPP dll(Active Directory dll)でCOM dllを使用していますが、私が与えたインポートパスは相対(Comdll名のみ)でしたが、Tools-> Additional Include Directoryの絶対パスを追加しました。私は "C:\ test"フォルダに格納されているCOM dllメソッドを呼び出すsystem32フォルダに自分のvcpp dllを保存しました。どのように私はtlbパスを動的にすることができますか?私のVCPP dllはsystem32フォルダに格納されています。 –

+0

@ハセナ:別の質問を開いてください。 –

関連する問題