首页 /编程语言和算法/VB6/VBA/ASP
 VB6 类中全局变量的生效范围
今天 16:51

新建From1(窗体),新建Command1(按钮CommandButton),代码:

Private Sub Command1_Click()
    Set testClass1 = New Class1
    Debug.Print "Main str1=" & str1 & " str2=" & str2 & " str11=" & str11 & " str12=" & str12
End Sub

新建模块 Module1.bas,代码:

Public str1$, str2$

新建类Class1.cls,代码:

Public str11&

Private Sub Class_Initialize()
    Set testClass2 = New Class2
    str1 = "1"
    str11 = "11"
    Debug.Print "c1 str1=" & str1 & " str2=" & str2 & " str11=" & str11 & " str12=" & str12
End Sub

新建类Class2.cls,代码:

Public str12&

Private Sub Class_Initialize()
    str2 = "2"
    str12 = "12"
    Debug.Print "c2 str1=" & str1 & " str2=" & str2 & " str11=" & str11 & " str12=" & str12
End Sub

运行结果:

c2 str1= str2=2 str11= str12=12
c1 str1=1 str2=2 str11=11 str12=
Main str1=1 str2=2 str11= str12=

证明:类模块的全局变量会在整个程序包括类中生效,而类中的Public变量只在本类中生效不能跨类或其它窗体或模块中生效。

 
全部回复(0)
首页 | 电脑版 |