我有一个类 foo 的例程。类 foo 包含类 bar,但不初始化它。在我的例程中,我将父方法的 foo 的类栏作为对象传入。然后接收方法将 foo 的 bar 初始化为一个新的 bar。
出于某种原因,当我稍后引用 foo 时,bar 未初始化。无论如何要在另一种方法中初始化 foo 的 bar 吗?
<Class Foo>
Option Explicit
Public mybar As Bar
<Class Bar>
Option Explicit
Public theText As String
<Main Module>
Public Sub Test()
Dim myfoo As New foo
Dim abar As Bar
Derp myfoo.mybar
myfoo.mybar.theText = "Test"
End Sub
Public Sub Derp(ByRef mybar As Bar)
Set mybar = New Bar
End Sub
当代码遇到 myfoo.mybar.thetext = "Test" 时,我收到错误 91,Object variable or With block variable not set。
我正在通过供应商特定系统 VBA 版本 6.5.1054 使用 VBA。