Interop 用に登録した VB.NET アセンブリがあります。VB6 プロジェクトでこのアセンブリのクラスを使用しています。
既存の VB6 プロジェクトで、タイプ ライブラリへの参照を追加し、次のコードを実行しました。
Dim vizDataSingleton As Vizual_Data.Singleton
Set vizDataSingleton = New Vizual_Data.Singleton
2 行目のエラー「実行時エラー 430: クラスはオートメーションをサポートしていないか、予期されるインターフェイスをサポートしていません」
ただし、空の VB6 プロジェクトを開始して参照を追加すると、まったく同じコードが正常に機能します。
vbp ファイルの tlb への参照を確認しましたが、どちらも同一です。
Reference=*\G{BDB20DDF-D3B7-4484-8950-35D67DED45EC}#4.2#0#..\Vizual.Data\Vizual.Data\bin\Debug\Vizual.Data.tlb#VMS Data Structure Library
私も遅延バインディングを使用してみました:
Set vizDataSingleton = CreateObject("Vizual.Data.Singleton")
「タイプの不一致」を伴う既存のプロジェクトではこのエラーが発生しますが、新しいプロジェクトでは再び機能します
あるプロジェクトでは失敗するが、別のプロジェクトでは機能する理由はありますか?