如何在VB6中检查对象是否为Nothing?

时间:2011-03-17 15:03:13

标签: vb6

在我的VB6应用程序中,我有一个声明的对象数组......

Dim MyArray() as MyClass

随着处理的进行,这个数组被填充

Set MyArray(element) = passed_object

并且不再需要元素,

Set MyArray(otherelement) = Nothing

使用数组时,我想使用像

这样的循环
For i = 1 To Ubound(MyArray)
    If MyArray(i) <> Nothing Then    ' Doesn't compile
        ...do something...
    End If
Next i

但我无法得到任何可能 - 想要编译。我也试过了

If MyArray(i) Is Not Nothing Then

我是否应该这样做,如果是这样,我应该在这里进行什么测试?

5 个答案:

答案 0 :(得分:33)

If Not MyArray(i) Is Nothing Then

答案 1 :(得分:15)

If Not MyArray(i) Is Nothing Then

答案 2 :(得分:0)

而不是

IsNothing(<object here>)

这应该适用于VB6:

<object here> Is Nothing

答案 3 :(得分:0)

    Private Function IsNothing(objParm As Object) As Boolean
        IsNothing = IIf(objParm Is Nothing, True, False)
    End Function

答案 4 :(得分:-1)

除了其他答案(没有使用is作为运算符)之外还有函数:

IsNothing(<object here>)

e.g。

if IsNothing(MyArray(i)) = false then

编辑:MSDN无益于声明存在于VBA和VB6中,但根据下面的评论显然在VB6中不存在