Consultor Eletrônico



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.