(単純なバージョン)で作成されたoleオブジェクトがあります
obj := CreateOleObject('foo.bar');
obj.OnResult := DoOnResult;
procedure TMyDM.DoOnResult(Res: olevariant);
これはすべて機能しますが、res変数には関数String [] GetAns() があり、このように呼び出します。
var
ans: array of string;
begin
ans := Res.GetAns;
end;
これも機能します。ただし、配列が返されない場合があり、例外がスローされます。
一時的な解決策として、私はそれをブロック以外の空の試行でラップしましたが、これは悪いことです。VarIsArray(Res.GetAns)を試し まし たが、結果がnullの場合でも機能しません
正しい結果を確認する正しい方法は何ですか?
ps私はoleオブジェクトを制御できません