查看: 3  |  回复: 0
  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变量只在本类中生效不能跨类或其它窗体或模块中生效。

您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2025 MaNongKu.com