Release 10.1A: OpenEdge Development:
Progress 4GL Reference

> ## PROCESS EVENTS statement

> Processes all outstanding events without blocking for user input.

> #### Syntax

>     PROCESS EVENTS

> Example

> This procedure counts to 1,000 until you choose STOP:

> r-proevs.p
>     DEFINE BUTTON stop-it LABEL "STOP".
>     DEFINE VARIABLE i AS INTEGER.
>     DEFINE VARIABLE stop-sel AS LOGICAL INITIAL FALSE.
>     DISPLAY stop-it.

>     ON CHOOSE OF stop-it
>        stop-sel = TRUE.

>     ENABLE stop-it.

>     DO i = 1 TO 1000:
>       DISPLAY i VIEW-AS TEXT.
>       PROCESS EVENTS.
>       IF stop-sel
>       THEN LEAVE.
>     END.

> On each pass through the loop, the procedure displays the new value of i and then checks whether any events are waiting to be processed. If no events have occurred, execution continues and the loop iterates. If the STOP button has been chosen, that event is processed changing the value of stop-sel. When execution continues, the program exits the loop.

> If the loop does not contain the PROCESS EVENTS statement, the choose event never processes and the loop iterates until i equals 1,000.

> #### Notes

> - The WAIT-FOR statement processes all pending events and blocks all other execution until a specified event occurs. The PROCESS EVENTS statement processes all pending events and immediately continues execution with the next statement.

> - If there are any asynchronous requests for which PROCEDURE-COMPLETE events have been received but not yet processed, this statement processes these events as described for the WAIT-FOR statement.

> #### See also

> WAIT-FOR statement

Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095