2、类实例的引用时才能访问。
上面的比较,同样适用于标准模块和类模块中的公共过程,用下面的例子可以说明。新建一个工程,并在“工程”菜单中个添加一个标准模块和一个类模块,然后运行以下的代码:
把下面的代码放在 Class1 中:
'下面是 Class1 对象的一个属性。
Public Comment As String
'下面是 Class1 对象的一个方法。
Public Sub ShowComment()
MsgBox Comment, , gstrVisibleEverywhere
End Sub
把下面的代码放在 Module1 中:
3、'标准模块中的代码是全局的。
Public gstrVisibleEverywhere As String
Public Sub CallableAnywhere(ByVal c1 As Class1)
'下行改变一个全局变量,这是一个Class1实例的(属性)
'只有传递给该过程的个别对象才受到影
c1.Comment = "Touched by a global function."
End Sub
把两个命令按钮放在 Form1 上,并在 Form1 中添加以下的代码:
Private mc1First As Class
4、1
Private mc1Second As Class1
Private Sub Form_Load()
'创建两个 Class1 类的实例。
Set mc1First = New Class1
Set mc1Second = New Class1
gstrVisibleEverywhere = "Global string data"
End Sub
Private Sub Command1_Click()
Call CallableAnywhere(mc1First)
mc1First.ShowComme
5、nt
End Sub
Private Sub Command2_Click()
mc1Second.ShowComment
End Sub
按F5键,运行该工程。当Form1加载时,它创建两个Class1类实例,每个实例有自己的数据。同时,Form1设置了下面全局变量gstrVisibleEverywhere的值。
按下Command1,调用全局过程并传递引用给第一个Class1对象。全局过程设置Comment属性,然后Command1调用ShowComment方法显示该对象的数据。
正如图1所示,结果信息框演示了全局过程CallableA