注意 | 此命令在 Core 和 Vulcan 方言中不可用。 |
用途
声明一个或多个内存变量名,供当前例程使用。
MEMVAR <idMemvarList>
<idMemvarList> | 向编译器声明的公有变量和私有变量名称列表。 |
当使用 MEMVAR 语句声明变量时,对 <idMemvarList> 中变量的无标记引用将被视为在其前面使用了特殊的内存变量别名
(_MEMVAR->)。
与其他变量声明语句(如 LOCAL 和 FIELD)一样,必须将 MEMVAR 语句放在所定义例程的任何可执行语句(包括 PRIVATE、PUBLIC 和 PARAMETERS)之前。 MEMVAR 语句对宏运算符没有影响,宏运算符总是假定内存变量。
MEMVAR 语句既不创建变量,也不验证变量的存在。 其主要目的是确保正确引用运行时已知存在的变量。 如果在变量创建之前试图访问它们,将引发运行时错误。
本例演示了同名私有变量和字段变量之间的关系。 私有变量是用 MEMVAR 语句声明的:
FUNCTION Example()
MEMVAR Amount, Address
PRIVATE Amount := 100
USE customer NEW
? Amount // 指私有变量 Amount
? Customer->Amount // 指字段变量 Amount
FIELD, LOCAL, PARAMETERS, PRIVATE, PUBLIC, STATIC