Hi,在 VB6.0 中调用 C# 的 DLL 过程中, 不知如何在 VB6 中判断 VB6 的对象是否为 NULL例如:(在 VB6 里面有一个 Class Module 名为 VBClassModuleObject ):
----------------Dim TestObject As VBClassModuleObject '这个方法用来创建对象,所以对象都在这个方法中创建
Function CreateFunction   TestObject = New VBClassModuleObject End Function'这个方法可能会在 CreateFunction 被调用前,先调用了 TestFunction 来执行
Function TestFunction   //在这里面如何判断 TestObject 是否已经使用了 New VBClassModuleObject ???
   //就像在 C# 中判断: if (TestObject  != null) { doSomthing() }End Function
VB6 不太会用,但是现在必须要用。请帮忙实现如何像在 C# 中判断: if (TestObject  != null) { doSomthing() }请指点,谢谢。

解决方案 »

  1.   

    vb中不叫null,叫nothing。请学习vb语法。
      

  2.   


    我知道,以前 10 年前曾经做过 VB ,但是现在基本上不用 VB6 好多年了。可否帮我直接写下面这个 VB 相同的判断语法出来?因为现在只是改一点东西,其他东西都在 C# 完成。if (TestObject  != null) { 
    doSomthing();
    }
      

  3.   


    我在做这个 VB6 调用 C# DLL 的过程,你帮了我好大的忙,几个贴子都是,真的非常感谢您。
      

  4.   

    好像没办法,只能使用 If TestObject Is Nothing Then
         MsgBox "Yes, it is Nothing"
    Else
         MsgBox "Yes, it isn't Nothing"
         '看来只能在这里面写其他 VB 代码了,不能直接 If(TestObject != null) {}
    End If有点类似在 C# 中使用:If(TestObject == null) {
         //只是占位,不作任何事
    }else{
         //在这里面调用真正的 doSomthing()
    }虽然步骤多了一点,但是好像可以使用。
      

  5.   

    If TestObject Is Nothing Then
    ...
      

  6.   


    但是,我现在是要判断不为空,不是判断为空,是要直接 If TestObject Not IS NOTHING then ..... End if这个如何直接一句话实现??难道一定要先判断 If TestObject is Nothing 然后在 Else 里面才做其他事吗?
      

  7.   

    If Not(TestObject Is Nothing) Then