この ActiveX コントロールを作成し、複数のクラスを COM に公開して[ComVisible(true)]
、各クラスに独自のクラス ID (例: GUID) を持たせるようにしました。次の .inf を使用して、cab ファイル内にすべてをパッケージ化します。
[version]
signature="$CHICAGO$"
AdvancedINF=2.0
[Add.Code]
ActiveXInstaller.msi=ActiveXInstaller.msi
[ActiveXInstaller.msi]
file-win32-x86=thiscab
clsid={ 11EABF82-A840-48AE-B11A-A05DCAFCD0D4 }
clsid = { 60A1606C-7382-4EC6-A8F1-05428FAABE72 }
[Setup Hooks]
install=install
[install]
run=msiexec.exe /package """%EXTRACT_DIR%\ActiveXInstaller.msi""" /qn
Javascript 内で、2 つのオブジェクトを作成しました。
var x = new ActiveXObject("ActiveX.Class1");
var y = new ActiveXObject("ActiveX.Class2");
最初のオブジェクト (x) は正常に動作し、そのクラスにメソッドを呼び出すことができましたが、2 番目のオブジェクトについては、「オートメーション サーバーはオブジェクトを作成できません」というメッセージが表示されます。
私はすべてを見ましたが、これに対する解決策が見つかりません。これを解決する方法はありますか?
前もって感謝します。