>>>Creates and releases compile-time constants.
>>>
>>>You can use the #DEFINE and #UNDEF preprocessor directives to create compile-time constants in programs. By creating constants with #DEFINE instead of using variables, you can reduce memory consumption, increase performance, and simplify programs.
>>
>>Very good, Alexandre.
>>But it is possible that "reduce memory consumption" means 'reduce the impact on MVCOUNT'.
>>It could also be that "increase performance" refers to something totally different than the 'constant' being included in-line *IN* the instruction. For example, maybe it is the case that memvars have to go through the 'is it a field name or a memvar' check before being used whereas 'constants' are in their own separate 'pool' where that is not an issue. In which case it's *possible* that using m. makes memvar usage virtually as fast.
>>As for simplifying programs, that's debateable. I've seen Sergey ask (and be correct) a few times 'are you sure you don't have a constant defined with the same name'. And to me hidden things are intrinsically *not* "simplification".
>>
>>In other words, the statements in Help don't do a whole lot to clarify the situation.
>>
>>But in the end this is another of those VFP capabilities that comes down to personal taste.
>>
>>cheers
>>>
>>>To create a constant with #DEFINE, specify the constant's name with ConstantName and its value with eExpression. When the program is compiled, text substitution is performed and the constant value expression is substituted for the constant name wherever it appears in the program. You can stop the substitution for the constant by issuing #UNDEF.
>>>