isEmpty不起作用

时间:2016-02-26 14:40:42

标签: vba vb6

我有一个用户界面,其中有一个“从 - 到”列表。当我测试它时,我让列表为空,我不会在其中插入任何数据。

但是当调用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 ,它是空的,但显示的消息是“非空”

2 个答案:

答案 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那么?