ID: Q115056
The information in this article applies to:
If a single #DEFINE preprocessor directive is used in the Setup code of a screen, the constant is never defined and the following error message is generated when the constant is referenced:
Variable ["<variable>"] not found.
To avoid this problem, add a comment somewhere in the Setup code. For an example, see "Workaround" in the "More Information" section below.
The #DEFINE preprocessor directive is used to create compile-time constants in programs. Using #DEFINE to create constants instead of using memory variables can save on memory consumption, increase performance, and simplify programs.
1. Create new screen.
2. In the Setup code, enter the following command:
#DEFINE x 10
3. To test the value of x, add a push button to the screen. In the VALID
clause of the push button, enter this command:
WAIT WINDOW STR(x)
4. Save, generate, and run the screen.
5. Click the push button. You will receive the following error message:
Variable 'x' not found
Open the screen program (.SPR file). There will not be any generated Setup
code, even though the #DEFINE was added above.
1. Open the screen (.SCX) file again.
2. Open the Setup code and add a comment somewhere in the Setup code.
3. Generate the screen again.
4. Click the push button. A wait window should appear with "10" as its
prompt.
Additional reference words: FoxDos FoxWin 2.50 2.50a 2.50 2.60
KBCategory: kbenv kbprg kbprb
KBSubcategory: FxenvMemory
Last Reviewed: June 27, 1995