Kbase P79195: LAST-EVENT:LABEL returns unexpected value if preceded by a PAUSE 1 statement.
Autor |
  Progress Software Corporation - Progress |
Acesso |
  Público |
Publicação |
  5/11/2004 |
|
Status: Unverified
SYMPTOM(s):
LAST-EVENT:LABEL returns unexpected value if preceded by a PAUSE 1 statement.
The following code returns:
'CTRL-SHIFT-ALT-HELP-KEY' in GUI and 'CTRL-SHIFT-ESC-HELP-KEY' in CHUI.
DEFINE VARIABLE cField AS CHARACTER.
DISPLAY cField
WITH SIDE-LABELS CENTERED NO-BOX.
ON ANY-KEY OF cField DO:
PAUSE 1.
MESSAGE LAST-EVENT:LABEL
VIEW-AS ALERT-BOX.
END.
ENABLE cField.
WAIT-FOR RETURN OF cField.
CAUSE:
This is expected behavior. Progress is setting the LAST-EVENT to NOKEY when the PAUSE n expires.
FIX:
Save the LAST-EVENT:LABEL in a variable before the PAUSE n statement:
DEFINE VARIABLE cField AS CHARACTER.
DEFINE VARIABLE cLastKey AS CHARACTER NO-UNDO.
DISPLAY cField
WITH SIDE-LABELS CENTERED NO-BOX.
ON ANY-KEY OF cField DO:
cLastKey = LAST-EVENT:LABEL.
PAUSE 1.
MESSAGE cLastKey
VIEW-AS ALERT-BOX.
END.
ENABLE cField.
WAIT-FOR RETURN OF cField.