6.4 变量、过程的作用域
1. VB应用程序的组成:
2. 过程的作用域
作用范围 |
模块级 |
全局级 |
窗体 |
标准模块 |
窗体 |
标准模块 |
定义方式 |
过程名前加Private
例:Private Sub my1(形参表) |
过程名前加Pubilc 或默认
例:[ Pubilc ] Sub my2(形参表) |
能否被本模块其他过程调用 |
能 |
能 |
能 |
能 |
能否被本应用程序其他模块调用 |
不能 |
不能 |
能,但必须在过程名前加窗体名。例:
Call 窗体名. My1(实参表) |
能,但过程名必须唯一,否则需要加标准模块名。例:
Call 标准模块名.My2(实参表) |
|
|
|
|
|
|
3. 变量的作用域
作用范围 |
局部变量 |
窗体/模块级变量 |
全局变量 |
|
|
|
窗体 |
标准模块 |
声明方式 |
Dim、Static |
Dim、Private |
Public |
声明位置 |
在过程中 |
窗体/模块的“通用声明”段 |
窗体/模块的“通用声明”段 |
能否被本模块其他过程存取 |
不能 |
能 |
能 |
能否被其他模块存取 |
不能 |
不能 |
能,但在变量名前加窗体名 |
能 |
4.静态变量
用Static声明的静态变量,在每次调用过程时保持原来的值,不重新初始化。而用Dim声明的变量,每次调用过程时,重新初始化
例:显示1到5个数。
5.同名变量
对不同范围内出现的同名变量,可以用模块名加以区别。一般情况下,当变量名相同而作用域不同时,优先访问局限性大的变量。 |