2

COM インターフェイスを使用してサード パーティのソフトウェアを制御していますが、そのインターフェイス用のタイプ ライブラリがありません。もうサポートされていない古いソフトウェアなので、更新されたバージョンを入手することはできません。

タイプ ライブラリがなくても、VBScript で問題なくすべてにアクセスできます。

Set spc = CreateObject( "WinAcquisit.Spectrum" )
spc.TransmitExperiment

または Python (win32 経由):

import win32com.client as cl
spc = cl.Dispatch("WinAcquisit.Spectrum")
spc.TransmitExperiment()

ただし、LabVIEW を介してソフトウェアを制御しています。これには、メソッド/変数を選択するためにタイプ ライブラリ (TL) が必要なようです (すべてが TL の内容に基づいてドロップダウン リストに変換されます)。そのため、LabVIEW コードでは何も使用できません。

対応するTLなしで、LabVIEWでこのインターフェースを使用するにはどうすればよいですか? または、TL を作成して既存の COM インターフェイスにリンクする簡単な方法はありますか?

4

1 に答える 1

4

実際のインターフェイス定義 (タイプ ライブラリなし) がある場合、おそらく最も簡単なのは、この COM クラスに薄いラッパーを作成することです。ラッパーにはタイプ ライブラリが含まれており、スクリプト作成に使用できます。ラッパーで呼び出しを取得すると、それらを問​​題のサードパーティ インターフェイスに転送します。ネイティブ コード ラッパーは、「WinAcquisit.Spectrum」ProgID を引き継ぐほど柔軟に機能する可能性があります。

于 2013-09-27T15:46:55.857 に答える