我在程序中的特定子项中创建了“Dog”类的实例“Lassie”。我也给它一些有用的属性,比如Lassie.Age = 7和Lassie.HeelCapability = False。
现在我想访问另一个子并将Lassie.HeelCapability更改为True。 我如何在这个新子中定义实例“Lassie”,以便可以使用它?
我遇到的所有代码都是这样的:
Dim Lassie As classDog
Set Lassie = New classDog
基本上我正在寻找的是一种将现有实例“Lassie”导入另一个子的方法,而不使用关键字“New”,从而创建一个新的“Lassie”(没有先前给出的所有属性)。
我收到的错误消息告诉我“需要对象”或“对象变量或未设置块变量”。
当然有办法做到这一点。
提前致谢。
答案 0 :(得分:2)
您需要将'Lassie'作为参数传递给您的其他子。
public sub DeclareSub()
Dim Lassie as classDog
Lassie = new classDog
OtherSub Lassie
end sub
public sub OtherSub(ByRef dog as classDog)
end sub
子程序'OtherSub'中的变量'dog'指的是与'DeclareSub'中的变量'Lassie'相同的对象实例。
答案 1 :(得分:0)
将ByRef
中的对象传递给新的子程序。
Sub ChangeHeel(ByRef olassie As classDog)
'change the object here, and it will be changed in the calling sub
olassie.HeelCapability = True
End Sub