创建和释放编译期间所用的常量。
语法
#DEFINE ConstantName eExpression
...
#UNDEF ConstantName
参数
ConstantName
指定编译期间所用的常量名。常量名必须是合法的 Visual FoxPro 常量名,第一个字符为字母或下划线,其他字符可以是字母、数字、或下划线,最长可达 254 个字符。为提高程序的可读性和简化调试过程,应对常量名使用大写字母并遵循标准命名约定。
重要内容
请不要使用 Visual FoxPro 关键字作常量名。
要取消用 #DEFINE 定义的编译期间常量,可使用 #UNDEF ConstantName。
eExpression
指定编译期间所用常量的值。eExpression 可以是一个名称或一个表达式。表达式的值可以是字符、数值、货币、日期、日期时间或逻辑值等。
重要内容
请不要在 eExpression 中使用系统内存变量。系统内存变量只有在运行时才具有值。
说明
#DEFINE 和 #UNDEF 预处理器命令在程序中用来定义和取消编译期间所用的常量。用 #DEFINE 定义编译期间所用常量,同使用内存变量相比,能够减少内存消耗,简化程序并增强程序运行性能。
要使用 #DEFINE 定义常量,应该用 ConstantName 给出常量名,并用 eExpression 指定它的值表达式。编译程序时将执行文本替换,把程序中任何出现常量名的地方都用常量表达式替换过来。在程序中添加 #UNDEF 命令可以停止这种替换。
上述替换只在定义常量的 #DEFINE 语句行与取消该常量的 #UNDEF 语句行之间发生。常量只在定义该常量的程序中有效。
如果 #DEFINE 语句放在表单的一个事件或方法过程中,则定义的编译时间常量只在该事件或方法的过程中有效。要使得 #DEFINE 语句定义的编译常量对表单中所有事件和方法过程都有效,请从“表单”菜单中选择“包含文件”菜单项,并指定一个头文件来包含 #DEFINE 编译时间常量。