Shared
 
指定整个模块的可见性的变量声明修饰符

语法

Dim Shared ...
ReDim Shared ...
Common Shared ...
Static Shared ...

说明

Shared使模块级变量在SubFunction内可见。
如果在模块级变量的声明中未使用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 而不使用共享;它会工作正常,不会毁了任何东西。

参考