Chr*_*ase 0 arrays delphi ole delphi-7 variant
我有一个用简单的verion创建的ole对象
obj := CreateOleObject('foo.bar');
obj.OnResult := DoOnResult;
procedure TMyDM.DoOnResult(Res: olevariant);
Run Code Online (Sandbox Code Playgroud)
这一切都有效,res变量有一个函数String [] GetAns() 我就是这样调用的
var
ans: array of string;
begin
ans := Res.GetAns;
end;
Run Code Online (Sandbox Code Playgroud)
它再次有效..除非有时没有返回数组,然后抛出异常.
作为一个临时的解决方案我把它包裹在一个空的尝试,除了块,我知道是坏的.我已经尝试过 VarIsArray(Res.GetAns), 但如果结果为null,它仍然无法工作
检查正确结果的正确方法是什么?
ps我无法控制ole对象
克里斯托弗尝试使用该VarIsNull功能
procedure TMyDM.DoOnResult(Res: olevariant);
var
ans: array of string;
begin
if not VarIsNull(Res) then
if not VarIsNull(Res.GetAns) then
begin
ans := Res.GetAns;
//do your stuff
end;
end;
Run Code Online (Sandbox Code Playgroud)