PRB: Program w/ @..SAY..GETs Exits If Press PAGE UP/PAGE DOWN

ID: Q137279

The information in this article applies to:

  • Microsoft Visual FoxPro for Windows, version 3.0

SYMPTOMS

Some developers porting code form other FoxPro versions, including MS-DOS and Windows, are still using hard coded screen displays (@..SAY..GETs in a .prg file).

In Visual FoxPro, you will find that the behavior is somewhat different from version 2.x products and other XBase languages. Pressing the PAGE UP or PAGE DOWN key while the program is running causes the program to stop, and no validation takes place if the GET command has a Valid clause.

RESOLUTION

In the beginning of the program place this code:

   ON KEY LABEL PGUP KEYBOARD "{BACKTAB}"
   ON KEY LABEL PGDN KEYBOARD "{TAB}"

This will allow the program to continue normally as if the ENTER key was pressed.

STATUS

This behavior is by design.

MORE INFORMATION

Steps to Reproduce Behavior

1. Create a program containing this code:

   CLEAR
   mvar  = SPACE(10)
   mvar2 = SPACE(10)
   @ 1,1 GET mvar VALID myvalid()
   @ 4,1 GET mvar2
   READ CYCLE

   PROCEDURE myvalid
     WAIT WINDOW 'In the Procedure of Myvalid'
   RETURN

2. Run the program.

3. Put a value in mvar and press ENTER. The message 'In the Procedure of

   Myvalid' appears as expected.

4. Enter a value in mvar2 and press ENTER. The program cycles back to mvar.

5. Press the PAGE DOWN Key. The program exits, and no validation takes

   place.

Additional reference words: 3.00 VFoxWin KBCategory: kbprg kbprb KBSubcategory: FxprgGeneral


Last Reviewed: September 29, 1995
© 2000 Microsoft Corporation. All rights reserved. Terms of Use.