Consultor Eletrônico



Kbase P186859: 4GL/ABL: Why am I getting the message RUN (Not Responding) when I click on my application window whi
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   03/05/2011
Status: Unverified

GOAL:

4GL/ABL: Why am I getting the message RUN (Not Responding) when I click on my application window while processing?

GOAL:

Why does the Windows Operating System issue the RUN (Not Responding) message on multiple mouse clicks of the running application widow?

GOAL:

How to prevent the Windows Operating System from issuing the RUN (Not Responding) message when multiple mouse clicks are done on top of a running 4GL/ABL application window?

GOAL:

How to suppress the RUN (Not Responding) message when alternating multiple mouse clicks between a running 4GL/ABL application window and another window?

FACT(s) (Environment):

Windows
Progress 9.x
OpenEdge 10.x

FIX:

The message RUN (Not Responding) in a window's title bar indicates that the application is not processing messages. It is essentially letting us know that our mouse clicks on the application's window will not be processed. For example, if we run the following code in the Procedure Editor and alternate our mouse clicking between the application Window and some other Window several times, we will eventually see the message RUN (Not Responding) appear in the title bar of our running application window:

DEFINE VARIABLE v_cnt AS INTEGER NO-UNDO.
REPEAT v_cnt = 1 TO 50000:
DISPLAY v_cnt WITH 1 DOWN.
PAUSE 0.
END.

To prevent Windows Operating System from issuing the RUN (Not Responding) message after multiple mouse clicks on the application window, execute a PROCESS EVENTS statement occasionally during the application processing. For example, we can suppress the RUN (Not Responding) from appearing in the above code by executing a PROCESS EVENTS statement every 1000 iterations of the REPEAT loop:

DEFINE VARIABLE v_cnt AS INTEGER NO-UNDO.
REPEAT v_cnt = 1 TO 50000:
DISPLAY v_cnt WITH 1 DOWN.
PAUSE 0.
IF v_cnt MODULO 1000 = 0 THEN
PROCESS EVENTS.
END.