Delphi、olevariants 和字符串数组
我有一个用(简单版本)创建的 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;
它再次起作用..除了有时没有返回数组,然后抛出异常。
作为临时解决方案,我将其包装在一个空的 try except 块中,我知道这是坏。我已经尝试过 VarIsArray(Res.GetAns) 但如果结果为 null,它仍然不起作用
检查正确结果的正确方法是什么?
ps 我无法控制 ole 对象
i have an ole Object created with (simple verion)
obj := CreateOleObject('foo.bar');
obj.OnResult := DoOnResult;
procedure TMyDM.DoOnResult(Res: olevariant);
which all works, the res variable has a function String[] GetAns()
which im calling like this
var
ans: array of string;
begin
ans := Res.GetAns;
end;
which again works.. except sometimes no array is returned, and then an exception is thrown.
as a temporary solution i have wrapped it in a empty try except block, which i know is bad. I have tried VarIsArray(Res.GetAns) but it still donst work if the result is null
What is the correct way check for the right result?
ps I have no control over the ole Object
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
Christopher 尝试使用
VarIsNull
函数Christopher try using the
VarIsNull
function