Free Pascal プロジェクトで ActiveX-Object を使用したいのですが、ドキュメントから、1 つのメソッドが次のように宣言されていることがわかっています。
long Fetch(VARIANT* vValue)
vVariant には、呼び出し後に結果 (整数または浮動小数点値) が含まれます。
LazActiveX の「タイプ ライブラリのインポート」関数は、これを次のように変換しました。
_SomeApi = dispinterface
['...']
...
function Fetch(vValue: OleVariant):Integer;
...
end;
OleVariant については少し驚きました。返されるのは単純なデータ型だけだからです。また、v: OleVariant で Fetch(v) を呼び出すと、EOleSysError (型の不一致) が発生します。
TLBでこのメソッドを正しく宣言する方法、またはデータにアクセスする方法を誰かに説明してもらえますか? 残念ながら、私は Fetch() のソースを持っておらず、このようなもののいくつかは NDA でカバーされています...