我有一个用户界面,其中有一个“从 - 到”列表。当我测试它时,我让列表为空,我不会在其中插入任何数据。
但是当调用isEmpty
时,它返回它不是空的,这是错误的。
这是我的代码段:
Dim oFromToList As Object
Dim vList As Variant
Set oParameters = SmartContext.Parameters
If oParameters.Contains("smartFromToList1") Then
Set oFromToList = oParameters.Item("smartFromToList1")
vList = oFromToList.GetList
If Not IsEmpty(vlist) Then
MsgBox "not empty"
Else
MsgBox "empty"
end if
End If
列表的名称是 smartFromToList1 ,它是空的,但显示的消息是“非空”
答案 0 :(得分:2)
您误用了IsEmpty功能。它用于检查变量类型变量是否已初始化。表示变量是否已赋值。它不能用于检查对象。
行vList = oFromToList.GetList
初始化vList。它将GetList返回的内容分配给vList。
你没有说oFromToList是什么类型的对象,所以我们无法告诉你如何进行测试。根据GetList实际返回的内容,您可以检查Count
属性,或者可以测试
vList Is Nothing。
答案 1 :(得分:0)
IsEmpty只检查变量是否已初始化。你只是将vList作为Variant来调整,所以我不确定你期望的数据是什么。如果它意味着某种数组,列表,集合等,那么vList可能被初始化但不包含任何项目。它是什么类型的物体?你可以做任何像if vList.Count> 0那么?