指定整个模块的可见性的变量声明修饰符
语法
说明
Shared使模块级变量在
Sub和
Function内可见。
如果在模块级变量的声明中未使用
Shared,该变量只对该文件中的模块级代码可见(此外,只有声明为
Dim而不具有
Shared修饰符的变量,而不在命名空间块,存储在堆栈中)。
注意:一个共享变量只能用一个常量值初始化:它的起始值是在运行任何代码之前在程序开始设置的,因此它不能依赖于任何变量或函数。异常是var-len字符串类型的共享变量,即使使用常量字符串也不能被初始化,因为它的结构具有指向动态内存块的描述符。
例子
''用-lang qb或fblite编译
'$ lang:“qb”
Declare Sub MySub
Dim Shared x As Integer
Dim y As Integer
x = 10
y = 5
MySub
Sub MySub
Print "x是"; x '这将报告10,因为它是共享的
Print "是的"; y '这不会报告5,因为它不共享
End Sub
与QB差别
- 不支持范围块内的共享语句 - 函数,subs,if / thens和循环。在主程序中使用Dim | Redim | 通用| 静态共享.或者如果您在范围块内,并且Redim 将以前设置为共享的变量或数组设置,只需执行Redim 而不使用共享;它会工作正常,不会毁了任何东西。
参考