Consultor Eletrônico



Kbase P129953: Have to insert PROCESS EVENTS statement after ASSIGN to SCREEN-VALUE of fill-in within a loop to get
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/03/2009
Status: Verified

SYMPTOM(s):

Have to insert PROCESS EVENTS statement after ASSIGN to SCREEN-VALUE of fill-in within a loop to get display to refresh

PROCESS EVENTS is not always necessary in earlier Progress/OpenEdge versions; depending on the particular code, other events may force the display to be updated.

FACT(s) (Environment):

Windows Vista
OpenEdge 10.1C
OpenEdge Category: Language (4GL/ABL)

CAUSE:

This is expected behavior. In Vista there is an additional layer between the application and the display. The application does not actually paint directly to the display. Instead, the application paints to a virtual display and then Vista renders it to the real display (although the application is unaware that this is what's happening).

FIX:

The PROCESS EVENTS statement may be necessary to force the display to update in certain kinds of processing, such as tight loops, which prevent the AVM from processing Windows messages. This is not necessarily specific to Vista. Under most circumstances, OpenEdge processes ASSIGNs to SCREEN-VALUEs in the same way on Vista as it does on earlier versions of Windows.