Consultor Eletrônico



Kbase P88915: Windows are Transparent Until Moved
Autor   Progress Software Corporation - Progress
Acesso   Público
Publicação   10/16/2008
Status: Unverified

FACT(s) (Environment):

OpenEdge 10.x

SYMPTOM(s):

Window initially appears as transparent

The edge of the window is correctly drawn but the frame and widgets are not shown

If the window is then moved the display is correct

CAUSE:

Using the LockWindowUpdate API in the application but with the wrong definition:
PROCEDURE LockWindowUpdate EXTERNAL "USER32.DLL":
DEFINE INPUT PARAMETER intWindowHwnd AS SHORT NO-UNDO. /* incorrect data type */
DEFINE RETURN PARAMETER intResult AS LONG NO-UNDO.
END PROCEDURE.

FIX:

Ensure the API has the correct data types, for this API it should be:
PROCEDURE LockWindowUpdate EXTERNAL "USER32.DLL":
DEFINE INPUT PARAMETER intWindowHwnd AS LONG NO-UNDO.
DEFINE RETURN PARAMETER intResult AS LONG NO-UNDO.
END PROCEDURE.