背景: ベンダーは ActiveX DLL を提供してくれましたが、ヘッダー ファイルや .tlb ファイルなどはありません。Visual Stdio 2010 と win32 C++ を使用しています。
私が直面している問題は、dll をロードまたは参照する方法ですか?
アンマネージド プロジェクトであるため、ソリューション エクスプローラーから dll を参照できません。#import を使用しようとすると、XXX.tlb ファイルが見つからないというコンパイル エラーが発生します。しかし、.tlb タイプのファイルがありません。私が試したもう 1 つのオプションは、OLE ビューアーで dll を開き、dll 定義をコピーしてから、Visual Studio で作成した .idl 拡張子ファイルに貼り付けることでした。次に、idl ファイルで midl を実行して .h ファイルを作成しましたが、それも役に立ちませんでした。クラスを使用しようとすると、「抽象クラスを使用または参照できません」というエラーが表示されます。
この問題について他にも質問がありますが、簡単ではなく、回答は回答済みまたは賛成としてマークされていません。
Visual Studio 2010 の win32 C++ プロジェクトで ActiveX dll をロードするために使用できるさまざまな方法と、どの方法をいつ優先すべきかを知りたいですか? 実際に私の問題に対処しているスレッドがある場合は、そのスレッドを教えてください。
ありがとう