FIX: Screen Builder Doesn't Recognize #ELIF & #UNDEF
ID: Q119939
2.60 | 2.60 | 2.50b 2.50c
WINDOWS | MS-DOS | MACINTOSH
kbprg kbbuglist kbfixlist
The information in this article applies to:
- Microsoft FoxPro for Windows, version 2.6
- Microsoft FoxPro for MS-DOS, version 2.6
- Microsoft FoxPro for Macintosh, versions 2.5b, 2.5c
SYMPTOMS
The Screen Builder program (GENSCRN.PRG) doesn't recognize #ELIF and #UNDEF
as preprocessor directives. The .SPR program file generated for a screen
that has code snippets containing these directives isn't correct.
NOTE: This problem does NOT occur in prior versions of FoxPro for Windows
or MS-DOS.
STATUS
Microsoft has confirmed this to be a problem in the Microsoft products
listed at the beginning of this article. This problem was corrected in
FoxPro version 2.6a for Windows, FoxPro version 2.6a for MS-DOS, and FoxPro
version 2.6a for Macintosh.
MORE INFORMATION
Steps to Reproduce Problem
1. In the Command window, type "CREATE SCREEN test" (without the
quotation marks).
2. In FoxPro for Windows or Macintosh, choose Layout from the Screen
menu.
In FoxPro for MS-DOS, choose Screen Layout from the Screen menu.
3. In FoxPro for Windows or Macintosh, in the Screen Layout dialog
box, under Options, choose the Code button.
In FoxPro for MS-DOS, under Screen Code, select the Setup
check box, and then choose OK. Skip to step 5.
4. In FoxPro for Windows or Macintosh, in the Screen Code dialog
box, choose Screen Setup Code. Choose OK twice.
NOTE: This step doesn't apply to FoxPro for MS-DOS.
5. Type the following code in the Setup Code snippet window:
#IF 'WINDOWS' $ UPPER(VERSION())
? 'This is FoxPro for Windows'
#ELIF 'MAC' $ UPPER(VERSION())
? 'This is FoxPro for Macintosh'
#ELIF 'UNIX' $ UPPER(VERSION())
? 'This is FoxPro for UNIX'
#ELSE
? 'This is FoxPro for MS-DOS'
#ENDIF
#DEFINE testconst 10
#UNDEF testconst
6. From the File menu, choose Close. FoxPro returns to the Screen
Design window.
7. From the Program menu, choose Generate.
8. When prompted to save changes to the screen, choose Yes.
9. When prompted to save environment information, choose No.
10. In the Generate Screen dialog box, choose Generate.
11. Close the Screen Design window.
12. In the Command window, type "MODIFY COMMAND test.spr" (without the
quotation marks).
13. Go to the "Setup Code" section.
In the code that follows, note that the #ELIF statements and the
#UNDEF statement are missing:
#REGION 1
#IF 'WINDOWS' $ UPPER(VERSION())
? 'This is FoxPro for Windows'
? 'This is FoxPro for Macintosh'
? 'This is FoxPro for UNIX'
#ELSE
? 'This is FoxPro for MS-DOS'
#ENDIF
#DEFINE testconst 10
Additional reference words: FoxMac FoxDos FoxWin 2.50b 2.50c 2.60 2.60a
buglist2.50b buglist2.50c buglist2.60 fixlist2.60a generator genscreen
screengen
KBCategory: kbprg kbfixlist kbbuglist
KBSubcategory: FxtoolSbuilder
Keywords : FxtoolSbuilder kbbuglist kbfixlist
Version : 2.60 | 2.60 | 2.50b 2.50c
Platform : MACINTOSH MS-DOS WINDOWS
Solution Type : kbfix