我有这个简单的地址类,只有:
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()
函数上为 objectAdrress.street 分配了一个值,但是当它进入 ìsNothing()` 函数时,objectAddress 又是 Nothing。
当控件返回到f1
函数时,对象返回具有值并且街道属性仍然具有我分配给它的值......
那么,模块“属性”不应该表现得像一个类吗?或者模块内不存在全局/本地范围?
已解决:
即使没有人明白问题的重点,但问题是我正在创建一个与全局对象同名的本地对象,这就是为什么它总是Nothing
在进入另一个函数时出现。