Call CreateWindowExA in "USER32.DLL"

WinAPI: Call CreateWindowExA in "USER32.DLL"

Im trying to call the CreateWindowEx function in the User32.dll, and create a Marquee Style Process Bar but i always get the message:

Code:
Mismatch in the parameter datatypes in DLL procedure CreateWindowEx.
here is my source code:

Code:
DEFINE VARIABLE liResult AS INTEGER    NO-UNDO.

PROCEDURE CreateWindowExA EXTERNAL "USER32.DLL":U:
   DEFINE INPUT PARAMETER piExStyle AS DOUBLE NO-UNDO.
   DEFINE INPUT PARAMETER pcClassName AS CHARACTER NO-UNDO.
   DEFINE INPUT PARAMETER pcWindowName AS CHARACTER NO-UNDO.
   DEFINE INPUT PARAMETER piStyle AS DOUBLE NO-UNDO.
   DEFINE INPUT PARAMETER piXPos AS LONG NO-UNDO.
   DEFINE INPUT PARAMETER piYPos AS LONG NO-UNDO.
   DEFINE INPUT PARAMETER piWidth AS LONG NO-UNDO.
   DEFINE INPUT PARAMETER piHeight AS LONG NO-UNDO.
   DEFINE INPUT PARAMETER phHandleToWindowParent AS LONG NO-UNDO.
   DEFINE INPUT PARAMETER phHandleToMenu AS LONG NO-UNDO. 
   DEFINE INPUT PARAMETER phHandleToInstance AS LONG NO-UNDO. 
   DEFINE INPUT PARAMETER pcParam AS LONG NO-UNDO. 
   DEFINE RETURN PARAMETER piHandleToNewWindow AS LONG NO-UNDO.
END PROCEDURE.


DEFINE VARIABLE test AS INTEGER   NO-UNDO INIT 0.


RUN CreateWindowExA (
        0.0, 
        "20",
        "0", 
        8.0,
        100.0, 
        100.0, 
        100.0, 
        100.0, 
        0.0, 
        0.0, 
        0.0, 
        OUTPUT liResult
).
here is a link to the msdn:

http://msdn.microsoft.com/en-us/library/ms632680(VS.85).aspx
http://msdn.microsoft.com/en-us/library/bb760816(VS.85).aspx

im using Progress 9.1.D

can someone please tell me what im doing wrong...


and btw. sry for my bad english ;-)
 

rstanciu

Member
Re: WinAPI: Call CreateWindowExA in "USER32.DLL"

try this ...

Code:
PROCEDURE CreateWindowExA EXTERNAL "USER32.DLL":
  DEFINE INPUT  PARAMETER dwExStyle    AS LONG.
  DEFINE INPUT  PARAMETER lpClassName  AS CHAR.
  DEFINE INPUT  PARAMETER lpWindowName AS CHAR.
  DEFINE INPUT  PARAMETER dwStyle      AS LONG.
  DEFINE INPUT  PARAMETER x            AS LONG.
  DEFINE INPUT  PARAMETER y            AS LONG.
  DEFINE INPUT  PARAMETER nWidth       AS LONG.
  DEFINE INPUT  PARAMETER nHeight      AS LONG.
  DEFINE INPUT  PARAMETER hWndParent   AS LONG.
  DEFINE INPUT  PARAMETER hMenu        AS LONG.
  DEFINE INPUT  PARAMETER hInstance    AS LONG.
  DEFINE INPUT  PARAMETER lpParam      AS LONG.
  DEFINE RETURN PARAMETER hwndCreated  AS LONG.
END PROCEDURE.
 
Top