我有一个DLL(目前无法访问),其中函数返回Variant()
理论上,这个变体应该返回一个错误数组(如果发生这种情况)。
Dim iresult
iresult = object.functioncall()
我试图抓住这个结果集是否为空。我现在得到的是:
?类型名(iresult)
变体()
?UBOUND(iresult)
1
?LBOUND(iresult)
0
?的isEmpty(iresult)
假
?ISNULL(iresult)
假
?IsArray的(iresult)
真
任何进入iresult(1)或iresult(0)或循环的尝试都会给我一个超出范围错误的下标。我可以解决数组是空的,但如果它包含我需要得到的东西。
欢迎任何建议。谢谢。
答案 0 :(得分:0)
访问代码后,我意识到部分问题是返回的数组是2维。但无论如何我都作弊,因为数组可能变空,Variant不会识别它是空的还是空的。
重复通过返回的Variant(它总是以数组或类型的形式返回),我抓住"超出范围"错误并使用我的代码。如果它确实重申那么我也会没事的。
感谢您的帮助。