私はVB.NET 2010でCOM DLLを書いています(DLL Aと呼びましょう)。この DLL は、既存の DLL (DLL B) の関数を使用します。VS2010 でテスト アプリからコードを実行すると、すべてうまくいきます。
(アプリのテスト) --> (DLL A) --> (DLL B)
ここで、実際の APP (VB6) で DLL A への参照を追加します。
(実際のアプリ) --> (DLL A) --> (DLL B)
...そして、このエラーが発生します
タイプ 'System.__ComObject' の COM オブジェクトをインターフェイス typ 'Object.class' にキャストできません。IID '{GUID}' を持つインターフェイスの COM コンポーネントでの QueryInterface 呼び出しが次のエラーのために失敗したため、この操作は失敗しました: そのようなインターフェイスはサポートされていません (HRESULT からの例外: 0x80004002 (E_NOINTERFACE))。
DLL A は初期化されますが、DLL B への参照を使用して関数を呼び出すとすぐにエラーが発生します。
ヘルプ!