Vb6 调用第三个函数时,模块对象为空

Vb6 调用第三个函数时,模块对象为空,vb6,nothing,Vb6,Nothing,我有一个简单的Address类,它只有: Public street as String Public number as Integer 然后,我在一个名为“mdl1”的模块内创建一个实例,并在同一个模块函数上使用它: Public objectAddress as Address Public Function f1() As String Set objectAddress = New Address objectAddress = "5th street" 'this

我有一个简单的Address类,它只有:

  Public street as String
  Public number as Integer
然后,我在一个名为“mdl1”的模块内创建一个实例,并在同一个模块函数上使用它:

Public objectAddress as Address

Public Function f1() As String
  Set objectAddress = New Address
  objectAddress = "5th street" 'this works fine

  If Not isNothing() Then
    f1 = objectAddress.street
  Else
    f1 = vbNullString
  End If

End Function

Public Function isNothing() As Boolean

'When entering here, the objectAddres is ALWAYS Nothing, even though i just assigned a value to the street property...

  If objectAddress is Nothing then
    isNothing = True
  Else
    isNothing = False
  End If
End Function
我已经在
f1()
函数中为objectadress.street赋值,但当它进入ìsNothing()函数时,objectAddress再次为空

当控件返回到
f1
函数时,对象返回到具有值的状态,并且street属性仍然具有我为其指定的值

那么,模块“属性”的行为不应该像类1吗?或者模块中不存在全局/局部作用域

已解决:
尽管没有人理解这个问题的重点,但问题是我正在创建一个与全局对象同名的局部对象,这就是为什么当它进入另一个函数时总是
Nothing

你的问题是什么?你的物品价值是否与你的标题中提到的一无是处?或者它是否具有与函数调用之前相同的值?你能澄清你的问题吗?你意识到。。。有一个可变的拼写错误?”Public objectAddres as Address和“如果objectAddress为空,则”VB6中有类模块和静态基本(.bas)模块。每个类都需要自己的模块,而您显示的语法根本无效。即使是这样,就我们所知,您没有定义默认属性,因此您的“工作正常”行应该失败,或者做了一些您没有告诉我们的事情(也许您的
street
字符串是默认属性?)。静态模块语法也不正确。这不是VB6,而是VB6、VBA和VBScript语法或其他东西的某种奇怪组合。