瀏覽代碼

* compatibility updates

Tomas Hajny 26 年之前
父節點
當前提交
796eb74580
共有 2 個文件被更改,包括 821 次插入669 次删除
  1. 14 1
      rtl/os2/os2def.pas
  2. 807 668
      rtl/os2/pmwin.pas

+ 14 - 1
rtl/os2/os2def.pas

@@ -274,12 +274,25 @@ const
 	TFONTMETRICS = FONTMETRICS;
 	TCHARARRAY = CHARARRAY;
 
+{Another bunch of compatibility things}
+        HWND = cardinal;
+        HAB = cardinal;
+        HMQ = cardinal;
+        HPS = cardinal;
+        HRGN = cardinal;
+        ULONG = cardinal;
+        MParam = pointer;
+        MResult = pointer;
+
   implementation
   
 end.
 {
   $Log$
-  Revision 1.6  1999-08-05 07:37:27  hajny
+  Revision 1.7  1999-08-10 14:20:54  hajny
+    * compatibility updates
+
+  Revision 1.6  1999/08/05 07:37:27  hajny
     * 'solution' for a compiler problem
 
 }

+ 807 - 668
rtl/os2/pmwin.pas

@@ -40,352 +40,352 @@ unit pmwin;
   interface
 
     uses
-       os2def;    
+       os2def;
 
     type
-       proc=procedure;
+       proc=function (hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;
        QVERSDATA = record
-	  environment : word;
-	  version : word;
+        environment : word;
+        version : word;
        end;
        PQVERSDATA = ^QVERSDATA;
        SWP = record
-	  fl : cardinal;
-	  cy : longint;
-	  cx : longint;
-	  y : longint;
-	  x : longint;
-	  hwndInsertBehind : cardinal;
-	  hwnd : cardinal;
-	  ulReserved1 : cardinal;
-	  ulReserved2 : cardinal;
+        fl : cardinal;
+        cy : longint;
+        cx : longint;
+        y : longint;
+        x : longint;
+        hwndInsertBehind : cardinal;
+        hwnd : cardinal;
+        ulReserved1 : cardinal;
+        ulReserved2 : cardinal;
        end;
        PSWP = ^SWP;
        CREATESTRUCT = record
-	  pPresParams : pointer;
-	  pCtlData : pointer;
-	  id : cardinal;
-	  hwndInsertBehind : cardinal;
-	  hwndOwner : cardinal;
-	  cy : longint;
-	  cx : longint;
-	  y : longint;
-	  x : longint;
-	  flStyle : cardinal;
-	  pszText : pchar;
-	  pszClass : pchar;
-	  hwndParent : cardinal;
+        pPresParams : pointer;
+        pCtlData : pointer;
+        id : cardinal;
+        hwndInsertBehind : cardinal;
+        hwndOwner : cardinal;
+        cy : longint;
+        cx : longint;
+        y : longint;
+        x : longint;
+        flStyle : cardinal;
+        pszText : pchar;
+        pszClass : pchar;
+        hwndParent : cardinal;
        end;
        PCREATESTRUCT = ^CREATESTRUCT;
        CLASSINFO = record
-	  flClassStyle : cardinal;
-	  pfnWindowProc : proc;
-	  cbWindowData : cardinal;
+        flClassStyle : cardinal;
+        pfnWindowProc : proc;
+        cbWindowData : cardinal;
        end;
        PCLASSINFO = ^CLASSINFO;
        QMSG = record
-	  hwnd : cardinal;
-	  msg : cardinal;
-	  mp1 : pointer;
-	  mp2 : pointer;
-	  time : cardinal;
-	  ptl : POINTL;
-	  reserved : cardinal;
+        hwnd : cardinal;
+        msg : cardinal;
+        mp1 : pointer;
+        mp2 : pointer;
+        time : cardinal;
+        ptl : POINTL;
+        reserved : cardinal;
        end;
        PQMSG = ^QMSG;
        MQINFO = record
-	  cb : cardinal;
-	  pid : cardinal;
-	  tid : cardinal;
-	  cmsgs : cardinal;
-	  pReserved : pointer;
+        cb : cardinal;
+        pid : cardinal;
+        tid : cardinal;
+        cmsgs : cardinal;
+        pReserved : pointer;
        end;
        PMQINFO = ^MQINFO;
        WNDPARAMS = record
-	  fsStatus : cardinal;
-	  cchText : cardinal;
-	  pszText : pchar;
-	  cbPresParams : cardinal;
-	  pPresParams : pointer;
-	  cbCtlData : cardinal;
-	  pCtlData : pointer;
-       end;    
+        fsStatus : cardinal;
+        cchText : cardinal;
+        pszText : pchar;
+        cbPresParams : cardinal;
+        pPresParams : pointer;
+        cbCtlData : cardinal;
+        pCtlData : pointer;
+       end;
        PWNDPARAMS = ^WNDPARAMS;
        USERBUTTON = record
-	  hwnd : cardinal;
-	  hps : cardinal;
-	  fsState : cardinal;
-	  fsStateOld : cardinal;
+        hwnd : cardinal;
+        hps : cardinal;
+        fsState : cardinal;
+        fsStateOld : cardinal;
        end;
        PUSERBUTTON = ^USERBUTTON;
        OWNERITEM = record
-	  hwnd : cardinal;
-	  hps : cardinal;
-	  fsState : cardinal;
-	  fsAttribute : cardinal;
-	  fsStateOld : cardinal;
-	  fsAttributeOld : cardinal;
-	  rclItem : RECTL;
-	  idItem : longint;
-	  hItem : cardinal;
-       end;     
+        hwnd : cardinal;
+        hps : cardinal;
+        fsState : cardinal;
+        fsAttribute : cardinal;
+        fsStateOld : cardinal;
+        fsAttributeOld : cardinal;
+        rclItem : TRectl;
+        idItem : longint;
+        hItem : cardinal;
+       end;
        POWNERITEM = ^OWNERITEM;
        PARAM = record
-	  id : cardinal;
-	  cb : cardinal;
-	  ab : array[0..1-1] of BYTE;
+        id : cardinal;
+        cb : cardinal;
+        ab : array[0..1-1] of BYTE;
        end;
        PPARAM = ^PARAM;
        PRESPARAMS = record
-	  cb : cardinal;
-	  aparam : array[0..1-1] of PARAM;
+        cb : cardinal;
+        aparam : array[0..1-1] of PARAM;
        end;
        PPRESPARAMS = ^PRESPARAMS;
        TRACKINFO = record
-	  cxBorder : longint;
-	  cyBorder : longint;
-	  cxGrid : longint;
-	  cyGrid : longint;
-	  cxKeyboard : longint;
-	  cyKeyboard : longint;
-	  rclTrack : RECTL;
-	  rclBoundary : RECTL;
-	  ptlMinTrackSize : POINTL;
-	  ptlMaxTrackSize : POINTL;
-	  fs : cardinal;
-       end;          
+        cxBorder : longint;
+        cyBorder : longint;
+        cxGrid : longint;
+        cyGrid : longint;
+        cxKeyboard : longint;
+        cyKeyboard : longint;
+        rclTrack : TRectl;
+        rclBoundary : TRectl;
+        ptlMinTrackSize : POINTL;
+        ptlMaxTrackSize : POINTL;
+        fs : cardinal;
+       end;
        PTRACKINFO = ^TRACKINFO;
        CURSORINFO = record
-	  hwnd : cardinal;
-	  x : longint;
-	  y : longint;
-	  cx : longint;
-	  cy : longint;
-	  fs : cardinal;
-	  rclClip : RECTL;
+        hwnd : cardinal;
+        x : longint;
+        y : longint;
+        cx : longint;
+        cy : longint;
+        fs : cardinal;
+        rclClip : TRectl;
        end;
        PCURSORINFO = ^CURSORINFO;
        POINTERINFO = record
-	  fPointer : cardinal;
-	  xHotspot : longint;
-	  yHotspot : longint;
-	  hbmPointer : cardinal;
-	  hbmColor : cardinal;
-	  hbmMiniPointer : cardinal;
-	  hbmMiniColor : cardinal;
+        fPointer : cardinal;
+        xHotspot : longint;
+        yHotspot : longint;
+        hbmPointer : cardinal;
+        hbmColor : cardinal;
+        hbmMiniPointer : cardinal;
+        hbmMiniColor : cardinal;
        end;
        PPOINTERINFO = ^POINTERINFO;
        SMHSTRUCT = record
-	  mp2 : pointer;
-	  mp1 : pointer;
-	  msg : cardinal;
-	  hwnd : cardinal;
-	  model : cardinal;
+        mp2 : pointer;
+        mp1 : pointer;
+        msg : cardinal;
+        hwnd : cardinal;
+        model : cardinal;
        end;
        PSMHSTRUCT = ^SMHSTRUCT;
        ERRINFO = record
-	  cbFixedErrInfo : cardinal;
-	  idError : cardinal;
-	  cDetailLevel : cardinal;
-	  offaoffszMsg : cardinal;
-	  offBinaryData : cardinal;
+        cbFixedErrInfo : cardinal;
+        idError : cardinal;
+        cDetailLevel : cardinal;
+        offaoffszMsg : cardinal;
+        offBinaryData : cardinal;
        end;
        PERRINFO = ^ERRINFO;
        CONVCONTEXT = record
-	  cb : cardinal;
-	  fsContext : cardinal;
-	  idCountry : cardinal;
-	  usCodepage : cardinal;
-	  usLangID : cardinal;
-	  usSubLangID : cardinal;
+        cb : cardinal;
+        fsContext : cardinal;
+        idCountry : cardinal;
+        usCodepage : cardinal;
+        usLangID : cardinal;
+        usSubLangID : cardinal;
        end;
        PCONVCONTEXT = ^CONVCONTEXT;
        DDEINIT = record
-	  cb : cardinal;
-	  pszAppName : pchar;
-	  pszTopic : pchar;
-	  offConvContext : cardinal;
+        cb : cardinal;
+        pszAppName : pchar;
+        pszTopic : pchar;
+        offConvContext : cardinal;
        end;
        PDDEINIT = ^DDEINIT;
        DDESTRUCT = record
-	  cbData : cardinal;
-	  fsStatus : word;
-	  usFormat : word;
-	  offszItemName : word;
-	  offabData : word;
-       end;                
+        cbData : cardinal;
+        fsStatus : word;
+        usFormat : word;
+        offszItemName : word;
+        offabData : word;
+       end;
        PDDESTRUCT = ^DDESTRUCT;
        DESKTOP = record
-	  cbSize : cardinal;
-	  hbm : cardinal;
-	  x : longint;
-	  y : longint;
-	  fl : cardinal;
-	  lTileCount : longint;
-	  szFile : array[0..260-1] of shortint;
+        cbSize : cardinal;
+        hbm : cardinal;
+        x : longint;
+        y : longint;
+        fl : cardinal;
+        lTileCount : longint;
+        szFile : array[0..260-1] of shortint;
        end;
        PDESKTOP = ^DESKTOP;
-{$PACKRECORDS 1}  
+{$PACKRECORDS 1}
        CMDMSG = record
-	  cmd : word;
-	  unused : word;
-	  source : word;
-	  fMouse : word;
+        cmd : word;
+        unused : word;
+        source : word;
+        fMouse : word;
        end;
        PCMDMSG = ^CMDMSG;
        MSEMSG = record
-	  x : integer;
-	  y : integer;
-	  codeHitTest : word;
-	  fsInp : word;
-       end;   
+        x : integer;
+        y : integer;
+        codeHitTest : word;
+        fsInp : word;
+       end;
        PMSEMSG = ^MSEMSG;
        CHRMSG = record
-	  fs : word;
-	  cRepeat : byte;
-	  scancode : byte;
-	  chr : word;
-	  vkey : word;
-       end;              
+        fs : word;
+        cRepeat : byte;
+        scancode : byte;
+        chr : word;
+        vkey : word;
+       end;
        PCHRMSG = ^CHRMSG;
 {$PACKRECORDS NORMAL}
 
 {$PACKRECORDS 2}
     DLGTITEM = record
-	  fsItemStatus : word;
-	  cChildren : word;
-	  cchClassName : word;
-	  offClassName : word;
-	  cchText : word;
-	  offText : word;
-	  flStyle : cardinal;
-	  x : integer;
-	  y : integer;
-	  cx : integer;
-	  cy : integer;
-	  id : word;
-	  offPresParams : word;
-	  offCtlData : word;
-       end;     
-       PDLGTITEM = ^DLGTITEM;    
+        fsItemStatus : word;
+        cChildren : word;
+        cchClassName : word;
+        offClassName : word;
+        cchText : word;
+        offText : word;
+        flStyle : cardinal;
+        x : integer;
+        y : integer;
+        cx : integer;
+        cy : integer;
+        id : word;
+        offPresParams : word;
+        offCtlData : word;
+       end;
+       PDLGTITEM = ^DLGTITEM;
        DLGTEMPLATE = record
-	  cbTemplate : word;
-	  _type : word;
-	  codepage : word;
-	  offadlgti : word;
-	  fsTemplateStatus : word;
-	  iItemFocus : word;
-	  coffPresParams : word;
-	  adlgti : array[0..0] of DLGTITEM;
+        cbTemplate : word;
+        _type : word;
+        codepage : word;
+        offadlgti : word;
+        fsTemplateStatus : word;
+        iItemFocus : word;
+        coffPresParams : word;
+        adlgti : array[0..0] of DLGTITEM;
        end;
        PDLGTEMPLATE = ^DLGTEMPLATE;
        BTNCDATA = record
-	  cb : word;
-	  fsCheckState : word;
-	  fsHiliteState : word;
-	  hImage : cardinal;
+        cb : word;
+        fsCheckState : word;
+        fsHiliteState : word;
+        hImage : cardinal;
        end;
-       PBTNCDATA = ^BTNCDATA;  
+       PBTNCDATA = ^BTNCDATA;
        ENTRYFDATA = record
-	  cb : word;
-	  cchEditLimit : word;
-	  ichMinSel : word;
-	  ichMaxSel : word;
-       end;                
+        cb : word;
+        cchEditLimit : word;
+        ichMinSel : word;
+        ichMaxSel : word;
+       end;
        PENTRYFDATA = ^ENTRYFDATA;
        MENUITEM = record
-	  iPosition : integer;
-	  afStyle : word;
-	  afAttribute : word;
-	  id : word;
-	  hwndSubMenu : cardinal;
-	  hItem : cardinal;
+        iPosition : integer;
+        afStyle : word;
+        afAttribute : word;
+        id : word;
+        hwndSubMenu : cardinal;
+        hItem : cardinal;
        end;
        PMENUITEM = ^MENUITEM;
        SBCDATA = record
-	  cb : word;
-	  sHilite : word;
-	  posFirst : integer;
-	  posLast : integer;
-	  posThumb : integer;
-	  cVisible : integer;
-	  cTotal : integer;
+        cb : word;
+        sHilite : word;
+        posFirst : integer;
+        posLast : integer;
+        posThumb : integer;
+        cVisible : integer;
+        cTotal : integer;
        end;
        PSBCDATA = ^SBCDATA;
        FRAMECDATA = record
-	  cb : word;
-	  flCreateFlags : cardinal;
-	  hmodResources : word;
-	  idResources : word;
+        cb : word;
+        flCreateFlags : cardinal;
+        hmodResources : word;
+        idResources : word;
        end;
        PFRAMECDATA = ^FRAMECDATA;
        ACCEL = record
-	  fs : word;
-	  key : word;
-	  cmd : word;
+        fs : word;
+        key : word;
+        cmd : word;
        end;
        PACCEL = ^ACCEL;
        ACCELTABLE = record
-	  cAccel : word;
-	  codepage : word;
-	  aaccel : array[0..1-1] of ACCEL;
-       end;            
-       PACCELTABLE = ^ACCELTABLE; 
+        cAccel : word;
+        codepage : word;
+        aaccel : array[0..1-1] of ACCEL;
+       end;
+       PACCELTABLE = ^ACCELTABLE;
        MFP = record
-	  sizeBounds : POINTL;
-	  sizeMM : POINTL;
-	  cbLength : cardinal;
-	  mapMode : word;
-	  reserved : word;
-	  abData : array[0..1-1] of BYTE;
+        sizeBounds : POINTL;
+        sizeMM : POINTL;
+        cbLength : cardinal;
+        mapMode : word;
+        reserved : word;
+        abData : array[0..1-1] of BYTE;
        end;
        PMFP = ^MFP;
        CPTEXT = record
-	  idCountry : word;
-	  usCodepage : word;
-	  usLangID : word;
-	  usSubLangID : word;
-	  abText : array[0..1-1] of BYTE;
+        idCountry : word;
+        usCodepage : word;
+        usLangID : word;
+        usSubLangID : word;
+        abText : array[0..1-1] of BYTE;
        end;
        PCPTEXT = ^CPTEXT;
 {$PACKRECORDS NORMAL}
 
 {Names beginning with T for compatibility}
 
-	TQVERSDATA = QVERSDATA;
-	TSWP = SWP;
-	TCREATESTRUCT = CREATESTRUCT;
-	TCLASSINFO = CLASSINFO;
-	TQMSQ = QMSG;
-	TMQINFO = MQINFO;
-	TWNDPARAMS = WNDPARAMS;
-	TUSERBUTTON = USERBUTTON;
-	TOWNERITEM = OWNERITEM;
-	TPARAM = PARAM;
-	TPRESPARAMS = PRESPARAMS;
-	TTRACKINFO = TRACKINFO;
-	TCURSORINFO = CURSORINFO;
-	TPOINTERINFO = POINTERINFO;
-	TSMHSTRUCT = SMHSTRUCT;
-	TERRINFO = ERRINFO;
-	TCONVCONTEXT = CONVCONTEXT;
-	TDDEINIT = DDEINIT;
-	TDDESTRUCT = DDESTRUCT;
-	TDESKTOP = DESKTOP;
-	TCMDMSG = CMDMSG;
-	TMSEMSG = MSEMSG;
-	TCHRMSG = CHRMSG;
-	TDLGTITEM = DLGTITEM;
-	TDLGTEMPLATE = DLGTEMPLATE;
-	TBTNCDATA = BTNCDATA;
-	TENTRYFDATA = ENTRYFDATA;
-	TMENUITEM = MENUITEM;
-	TSBCDATA = SBCDATA;
-	TFRAMECDATA = FRAMECDATA;
-	TACCEL = ACCEL;
-	TACCELTABLE = ACCELTABLE;
-	TMPF = MFP;
-	TCPTEXT = CPTEXT;
+      TQVERSDATA = QVERSDATA;
+      TSWP = SWP;
+      TCREATESTRUCT = CREATESTRUCT;
+      TCLASSINFO = CLASSINFO;
+      TQMSG = QMSG;
+      TMQINFO = MQINFO;
+      TWNDPARAMS = WNDPARAMS;
+      TUSERBUTTON = USERBUTTON;
+      TOWNERITEM = OWNERITEM;
+      TPARAM = PARAM;
+      TPRESPARAMS = PRESPARAMS;
+      TTRACKINFO = TRACKINFO;
+      TCURSORINFO = CURSORINFO;
+      TPOINTERINFO = POINTERINFO;
+      TSMHSTRUCT = SMHSTRUCT;
+      TERRINFO = ERRINFO;
+      TCONVCONTEXT = CONVCONTEXT;
+      TDDEINIT = DDEINIT;
+      TDDESTRUCT = DDESTRUCT;
+      TDESKTOP = DESKTOP;
+      TCMDMSG = CMDMSG;
+      TMSEMSG = MSEMSG;
+      TCHRMSG = CHRMSG;
+      TDLGTITEM = DLGTITEM;
+      TDLGTEMPLATE = DLGTEMPLATE;
+      TBTNCDATA = BTNCDATA;
+      TENTRYFDATA = ENTRYFDATA;
+      TMENUITEM = MENUITEM;
+      TSBCDATA = SBCDATA;
+      TFRAMECDATA = FRAMECDATA;
+      TACCEL = ACCEL;
+      TACCELTABLE = ACCELTABLE;
+      TMPF = MFP;
+      TCPTEXT = CPTEXT;
 const
        WS_VISIBLE = $80000000;
        WS_DISABLED = $40000000;
@@ -1246,7 +1246,7 @@ const
        SV_CPOINTERBUTTONS = 43;
        SV_POINTERLEVEL = 44;
        SV_CURSORLEVEL = 45;
-       SV_TRACKRECTLEVEL = 46;
+       SV_TRACKRectlEVEL = 46;
        SV_CTIMERS = 47;
        SV_MOUSEPRESENT = 48;
        SV_CXBYTEALIGN = 49;
@@ -1609,9 +1609,9 @@ const
        SZDDESYS_ITEM_ITEMFORMATS = 'ItemFormats';
        SZDDESYS_ITEM_HELP = 'Help';
        SZDDESYS_ITEM_PROTOCOLS = 'Protocols';
-       SZDDESYS_ITEM_RESTART = 'Restart'; 
-       
-       DDECTXT_CASESENSITIVE = $0001;     
+       SZDDESYS_ITEM_RESTART = 'Restart';
+
+       DDECTXT_CASESENSITIVE = $0001;
 
        {DDE}
        DDE_FACK = $0001;
@@ -1658,508 +1658,647 @@ const
     function WinDefWindowProc(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;
     function WinDestroyWindow(hwnd : cardinal) : longbool; cdecl;
     function WinShowWindow(hwnd : cardinal;fShow : longbool) : longbool;  cdecl;
-    function WinQueryWindowRect(hwnd : cardinal;var prclDest : RECTL) : longbool; cdecl;
+    function WinQueryWindowRect(hwnd : cardinal;var rclDest : TRectl) : longbool; cdecl;
+    function WinQueryWindowRect(hwnd : cardinal;prclDest : PRectl) : longbool; cdecl;
     function WinGetPS(hwnd : cardinal) : cardinal;  cdecl;
     function WinReleasePS(hps : cardinal) : longbool;  cdecl;
     function WinEndPaint(hps : cardinal) : longbool; cdecl;
     function WinGetClipPS(hwnd,hwndClip,fl : cardinal) : cardinal; cdecl;
     function WinIsWindowShowing(hwnd : cardinal) : longbool; cdecl;
-    function WinBeginPaint(hwnd,hps : cardinal;var prclPaint : RECTL) : cardinal; cdecl;
+    function WinBeginPaint(hwnd,hps : cardinal;var rclPaint : TRectl) : cardinal; cdecl;
+    function WinBeginPaint(hwnd,hps : cardinal;prclPaint: PRectl) : cardinal; cdecl;
     function WinOpenWindowDC(hwnd : cardinal) : cardinal; cdecl;
-    function WinScrollWindow(hwnd : cardinal;dx,dy : longint;var prclScroll,prclClip : RECTL;hrgnUpdate : cardinal;var prclUpdate : RECTL;rgfsw : cardinal) : longint; cdecl;                                             
-    function WinFillRect(hps : cardinal;var prcl : RECTL;lColor : longint) : longbool; cdecl;
+    function WinScrollWindow(hwnd : cardinal;dx,dy : longint;var rclScroll,rclClip : TRectl;hrgnUpdate : cardinal;var rclUpdate : TRectl;rgfsw : cardinal) : longint; cdecl;
+    function WinScrollWindow(hwnd : cardinal;dx,dy : longint;prclScroll,prclClip : PRectl;hrgnUpdate : cardinal;prclUpdate : PRectl;rgfsw : cardinal) : longint; cdecl;
+    function WinFillRect(hps : cardinal;var rcl : TRectl;lColor : longint) : longbool; cdecl;
+    function WinFillRect(hps : cardinal;prcl : PRectl;lColor : longint) : longbool; cdecl;
     function WinQueryVersion(hab : cardinal) : cardinal; cdecl;
     function WinInitialize(flOptions : cardinal) : cardinal; cdecl;
-    function WinTerminate(hab : cardinal) : longbool; cdecl;      
+    function WinTerminate(hab : cardinal) : longbool; cdecl;
     function WinQueryAnchorBlock(hwnd : cardinal) : cardinal; cdecl;
     function WinCreateWindow(hwndParent : cardinal;pszClass,pszName : pchar;flStyle : cardinal;x,y,cx,cy : longint;hwndOwner,hwndInsertBehind,id : cardinal;var pCtlData,pPresParams : pointer) : cardinal; cdecl;
     function WinEnableWindow(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;
     function WinIsWindowEnabled(hwnd : cardinal) : longbool; cdecl;
     function WinEnableWindowUpdate(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;
     function WinIsWindowVisible(hwnd : cardinal) : longbool; cdecl;
-    function WinQueryWindowText(hwnd : cardinal;cchBufferMax : longint;pchBuffer : pchar) : longint; cdecl;                                                                 
+    function WinQueryWindowText(hwnd : cardinal;cchBufferMax : longint;pchBuffer : pchar) : longint; cdecl;
     function WinSetWindowText(hwnd : cardinal;pszText : pchar) : longbool; cdecl;
     function WinQueryWindowTextLength(hwnd : cardinal) : longint; cdecl;
     function WinWindowFromID(hwndParent,id : cardinal) : cardinal; cdecl;
     function WinIsWindow(hab,hwnd : cardinal) : longbool; cdecl;
     function WinQueryWindow(hwnd : cardinal;cmd : longint) : cardinal; cdecl;
     function WinMultWindowFromIDs(hwndParent : cardinal;var prghwnd : cardinal;idFirst,idLast : cardinal) : longint; cdecl;
+    function WinMultWindowFromIDs(hwndParent : cardinal;prghwnd : PCardinal;idFirst,idLast : cardinal) : longint; cdecl;
     function WinSetParent(hwnd,hwndNewParent : cardinal;fRedraw : longbool) : longbool; cdecl;
     function WinIsChild(hwnd,hwndParent : cardinal) : longbool; cdecl;
     function WinSetOwner(hwnd,hwndNewOwner : cardinal) : longbool; cdecl;
-    function WinQueryWindowProcess(hwnd : cardinal;var ppid,ptid : cardinal) : longbool; cdecl;
+    function WinQueryWindowProcess(hwnd : cardinal;var _pid,_tid : cardinal) : longbool; cdecl;
+    function WinQueryWindowProcess(hwnd : cardinal;_ppid,_ptid : PCardinal) : longbool; cdecl;
     function WinQueryObjectWindow(hwndDesktop : cardinal) : cardinal; cdecl;
     function WinQueryDesktopWindow(hab,hdc : cardinal) : cardinal; cdecl;
-    function WinSetWindowPos(hwnd,hwndInsertBehind : cardinal;x,y,cx,cy : longint;fl : cardinal) : longbool; cdecl; 
-    function WinSetMultWindowPos(hab : cardinal;var pswp : SWP;cswp : cardinal) : longbool; cdecl;
-    function WinQueryWindowPos(hwnd : cardinal;var pswp : SWP) : longbool; cdecl;
+    function WinSetWindowPos(hwnd,hwndInsertBehind : cardinal;x,y,cx,cy : longint;fl : cardinal) : longbool; cdecl;
+    function WinSetMultWindowPos(hab : cardinal;var _swp : TSWP;cswp : cardinal) : longbool; cdecl;
+    function WinSetMultWindowPos(hab : cardinal;_pswp : PSWP;cswp : cardinal) : longbool; cdecl;
+    function WinQueryWindowPos(hwnd : cardinal;var _swp : TSWP) : longbool; cdecl;
+    function WinQueryWindowPos(hwnd : cardinal;_pswp : PSWP) : longbool; cdecl;
     function WinUpdateWindow(hwnd : cardinal) : longbool; cdecl;
-    function WinInvalidateRect(hwnd : cardinal;var pwrc : RECTL;fIncludeChildren : longbool) : longbool; cdecl;
+    function WinInvalidateRect(hwnd : cardinal;var wrc : TRectl;fIncludeChildren : longbool) : longbool; cdecl;
+    function WinInvalidateRect(hwnd : cardinal;pwrc : PRectl;fIncludeChildren : longbool) : longbool; cdecl;
     function WinInvalidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;
-    function WinInvertRect(hps : cardinal;var prcl : RECTL) : longbool; cdecl;
-    function WinDrawBitmap(hpsDst,hbm : cardinal;var pwrcSrc : RECTL;var pptlDst : POINTL;clrFore : longint;clrBack : longint;fl : cardinal) : longbool; cdecl;
-    function WinDrawText(hps : cardinal;cchText : longint;lpchText : pchar;var prcl : RECTL;clrFore,clrBack : longint;flCmd : cardinal) : longint; cdecl;
-    function WinDrawBorder(hps : cardinal;var prcl : RECTL;cx,cy : longint;clrFore,clrBack : longint;flCmd : cardinal) : longbool; cdecl;
+    function WinInvertRect(hps : cardinal;var rcl : TRectl) : longbool; cdecl;
+    function WinInvertRect(hps : cardinal;prcl : PRectl) : longbool; cdecl;
+    function WinDrawBitmap(hpsDst,hbm : cardinal;var wrcSrc : TRectl;var ptlDst : POINTL;clrFore : longint;clrBack : longint;fl : cardinal) : longbool; cdecl;
+    function WinDrawBitmap(hpsDst,hbm : cardinal;pwrcSrc : PRectl;pptlDst : PPOINTL;clrFore : longint;clrBack : longint;fl : cardinal) : longbool; cdecl;
+    function WinDrawText(hps : cardinal;cchText : longint;lpchText : pchar;var rcl : TRectl;clrFore,clrBack : longint;flCmd : cardinal) : longint; cdecl;
+    function WinDrawText(hps : cardinal;cchText : longint;lpchText : pchar;prcl : PRectl;clrFore,clrBack : longint;flCmd : cardinal) : longint; cdecl;
+    function WinDrawBorder(hps : cardinal;var rcl : TRectl;cx,cy : longint;clrFore,clrBack : longint;flCmd : cardinal) : longbool; cdecl;
+    function WinDrawBorder(hps : cardinal;prcl : PRectl;cx,cy : longint;clrFore,clrBack : longint;flCmd : cardinal) : longbool; cdecl;
     function WinLoadString(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pchar) : longint; cdecl;
     function WinLoadMessage(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pchar) : longint; cdecl;
     function WinSetActiveWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;
     function WinSubclassWindow(hwnd : cardinal;pfnwp : proc) : proc; cdecl;
     function WinQueryClassName(hwnd : cardinal;cchMax : longint;pch : pchar) : longint; cdecl;
-    function WinQueryClassInfo(hab : cardinal;pszClassName : pchar;var pClassInfo : CLASSINFO) : longbool; cdecl;
+    function WinQueryClassInfo(hab : cardinal;pszClassName : pchar;var _ClassInfo : TClassInfo) : longbool; cdecl;
+    function WinQueryClassInfo(hab : cardinal;pszClassName : pchar;_PClassInfo : PClassInfo) : longbool; cdecl;
     function WinQueryActiveWindow(hwndDesktop : cardinal) : cardinal; cdecl;
     function WinIsThreadActive(hab : cardinal) : longbool; cdecl;
     function WinQuerySysModalWindow(hwndDesktop : cardinal) : cardinal; cdecl;
-    function WinSetSysModalWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl; 
+    function WinSetSysModalWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;
     function WinQueryWindowUShort(hwnd : cardinal;index : longint) : word; cdecl;
     function WinSetWindowUShort(hwnd : cardinal;index : longint;us : word) : longbool; cdecl;
     function WinQueryWindowULong(hwnd : cardinal;index : longint) : cardinal; cdecl;
     function WinSetWindowULong(hwnd : cardinal;index : longint;ul : cardinal) : longbool; cdecl;
-    function WinQueryWindowPtr(hwnd : cardinal;index : longint) : pointer; cdecl;    
+    function WinQueryWindowPtr(hwnd : cardinal;index : longint) : pointer; cdecl;
     function WinSetWindowPtr(hwnd : cardinal;index : longint;p : pointer) : longbool; cdecl;
     function WinSetWindowBits(hwnd : cardinal;index : longint;flData,flMask : cardinal) : longbool; cdecl;
-    function WinBeginEnumWindows(hwnd : cardinal) : cardinal; cdecl;                                             
-    function WinGetNextWindow(henum : cardinal) : cardinal; cdecl;                                               
-    function WinEndEnumWindows(henum : cardinal) : longbool; cdecl;                                                  
-    function WinWindowFromPoint(hwnd : cardinal;var pptl : POINTL;fChildren : longbool) : cardinal; cdecl;              
-    function WinMapWindowPoints(hwndFrom,hwndTo : cardinal;var prgptl : POINTL;cwpt : longint) : longbool; cdecl;
-    function WinValidateRect(hwnd : cardinal;var prcl : RECTL;fIncludeChildren : longbool) : longbool; cdecl;                   
-    function WinValidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;                   
-    function WinWindowFromDC(hdc : cardinal) : cardinal; cdecl;                                                      
-    function WinQueryWindowDC(hwnd : cardinal) : cardinal; cdecl;                                                    
-    function WinGetScreenPS(hwndDesktop : cardinal) : cardinal; cdecl;                                               
-    function WinLockWindowUpdate(hwndDesktop,hwndLockUpdate : cardinal) : longbool; cdecl;                    
-    function WinLockVisRegions(hwndDesktop : cardinal;fLock : longbool) : longbool; cdecl;                                   
-    function WinQueryUpdateRect(hwnd : cardinal;var prcl : RECTL) : longbool; cdecl;                                        
-    function WinQueryUpdateRegion(hwnd,hrgn : cardinal) : longint; cdecl;                                     
+    function WinBeginEnumWindows(hwnd : cardinal) : cardinal; cdecl;
+    function WinGetNextWindow(henum : cardinal) : cardinal; cdecl;
+    function WinEndEnumWindows(henum : cardinal) : longbool; cdecl;
+    function WinWindowFromPoint(hwnd : cardinal;var ptl : TPointL;fChildren : longbool) : cardinal; cdecl;
+    function WinWindowFromPoint(hwnd : cardinal;pptl : PPointL;fChildren : longbool) : cardinal; cdecl;
+    function WinMapWindowPoints(hwndFrom,hwndTo : cardinal;var prgptl : TPointL;cwpt : longint) : longbool; cdecl;
+    function WinMapWindowPoints(hwndFrom,hwndTo : cardinal;prgptl : PPointL;cwpt : longint) : longbool; cdecl;
+    function WinValidateRect(hwnd : cardinal;var rcl : TRectl;fIncludeChildren : longbool) : longbool; cdecl;
+    function WinValidateRect(hwnd : cardinal;prcl : PRectl;fIncludeChildren : longbool) : longbool; cdecl;
+    function WinValidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;
+    function WinWindowFromDC(hdc : cardinal) : cardinal; cdecl;
+    function WinQueryWindowDC(hwnd : cardinal) : cardinal; cdecl;
+    function WinGetScreenPS(hwndDesktop : cardinal) : cardinal; cdecl;
+    function WinLockWindowUpdate(hwndDesktop,hwndLockUpdate : cardinal) : longbool; cdecl;
+    function WinLockVisRegions(hwndDesktop : cardinal;fLock : longbool) : longbool; cdecl;
+    function WinQueryUpdateRect(hwnd : cardinal;var rcl : TRectl) : longbool; cdecl;
+    function WinQueryUpdateRect(hwnd : cardinal;prcl : PRectl) : longbool; cdecl;
+    function WinQueryUpdateRegion(hwnd,hrgn : cardinal) : longint; cdecl;
     function WinExcludeUpdateRegion(hps,hwnd : cardinal) : longint; cdecl;
     function WinSendMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;
-    function WinCreateMsgQueue(hab : cardinal;cmsg : longint) : cardinal; cdecl;                        
-    function WinDestroyMsgQueue(hmq : cardinal) : longbool; cdecl;                                          
-    function WinQueryQueueInfo(hmq : cardinal;var pmqi : MQINFO;cbCopy : cardinal) : longbool; cdecl;          
-    function WinCancelShutdown(hmq : cardinal;fCancelAlways : longbool) : longbool; cdecl;                      
-    function WinGetMsg(hab : cardinal;var pqmsg : QMSG;hwndFilter,msgFilterFirst,msgFilterLast : cardinal) : longbool; cdecl;
-    function WinPeekMsg(hab : cardinal;var pqmsg : QMSG;hwndFilter,msgFilterFirst,msgFilterLast,fl : cardinal) : longbool; cdecl; 
-    function WinDispatchMsg(hab : cardinal;var pqmsg : QMSG) : pointer; cdecl;
+    function WinCreateMsgQueue(hab : cardinal;cmsg : longint) : cardinal; cdecl;
+    function WinDestroyMsgQueue(hmq : cardinal) : longbool; cdecl;
+    function WinQueryQueueInfo(hmq : cardinal;var mqi : TMQInfo;cbCopy : cardinal) : longbool; cdecl;
+    function WinQueryQueueInfo(hmq : cardinal;pmqi : PMQInfo;cbCopy : cardinal) : longbool; cdecl;
+    function WinCancelShutdown(hmq : cardinal;fCancelAlways : longbool) : longbool; cdecl;
+    function WinGetMsg(hab : cardinal;var _qmsg : TQMsg;hwndFilter,msgFilterFirst,msgFilterLast : cardinal) : longbool; cdecl;
+    function WinGetMsg(hab : cardinal;_pqmsg : PQMsg;hwndFilter,msgFilterFirst,msgFilterLast : cardinal) : longbool; cdecl;
+    function WinPeekMsg(hab : cardinal;var _qmsg : TQMsg;hwndFilter,msgFilterFirst,msgFilterLast,fl : cardinal) : longbool; cdecl;
+    function WinPeekMsg(hab : cardinal;_pqmsg : PQMsg;hwndFilter,msgFilterFirst,msgFilterLast,fl : cardinal) : longbool; cdecl;
+    function WinDispatchMsg(hab : cardinal;var _qmsg : TQMsg) : pointer; cdecl;
+    function WinDispatchMsg(hab : cardinal;_pqmsg : PQMsg) : pointer; cdecl;
     function WinPostMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;
     function WinRegisterUserMsg(hab,msgid : cardinal;datatype1,dir1,datatype2,dir2,datatyper : longint) : longbool; cdecl;
     function WinRegisterUserDatatype(hab : cardinal;datatype,count : longint;var types : longint) : longbool; cdecl;
-    function WinSetMsgMode(hab : cardinal;classname : pchar;control : longint) : longbool; cdecl;                      
-    function WinSetSynchroMode(hab : cardinal;mode : longint) : longbool;  cdecl;                        
-    function WinInSendMsg(hab : cardinal) : longbool; cdecl; 
+    function WinSetMsgMode(hab : cardinal;classname : pchar;control : longint) : longbool; cdecl;
+    function WinSetSynchroMode(hab : cardinal;mode : longint) : longbool;  cdecl;
+    function WinInSendMsg(hab : cardinal) : longbool; cdecl;
     function WinBroadcastMsg(hwnd,msg : cardinal;mp1,mp2 : pointer;rgf : cardinal) : longbool; cdecl;
-    function WinWaitMsg(hab,msgFirst,msgLast : cardinal) : longbool; cdecl;                       
+    function WinWaitMsg(hab,msgFirst,msgLast : cardinal) : longbool; cdecl;
     function WinQueryQueueStatus(hwndDesktop : cardinal) : cardinal; cdecl;
-    function WinQueryMsgPos(hab : cardinal;var pptl : POINTL) : longbool; cdecl;  
-    function WinQueryMsgTime(hab : cardinal) : cardinal; cdecl;            
-    function WinWaitEventSem(hev,ulTimeout : cardinal) : cardinal; cdecl;   
+    function WinQueryMsgPos(hab : cardinal;var ptl : TPointL) : longbool; cdecl;
+    function WinQueryMsgPos(hab : cardinal;pptl : PPointL) : longbool; cdecl;
+    function WinQueryMsgTime(hab : cardinal) : cardinal; cdecl;
+    function WinWaitEventSem(hev,ulTimeout : cardinal) : cardinal; cdecl;
     function WinRequestMutexSem(hmtx,ulTimeout : cardinal) : cardinal; cdecl;
-    function WinWaitMuxWaitSem(hmux,ulTimeout:cardinal;var pulUser : cardinal) : cardinal; cdecl;   
-    function WinPostQueueMsg(hmq,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;  
+    function WinWaitMuxWaitSem(hmux,ulTimeout:cardinal;var ulUser : cardinal) : cardinal; cdecl;
+    function WinWaitMuxWaitSem(hmux,ulTimeout:cardinal;pulUser : PCardinal) : cardinal; cdecl;
+    function WinPostQueueMsg(hmq,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;
     function WinSetMsgInterest(hwnd,msg_class : cardinal;control : longint) : longbool; cdecl;
-    function WinSetClassMsgInterest(hab : cardinal;pszClassName : pchar;msg_class : cardinal;control : longint) : longbool; cdecl;     
-    function WinSetFocus(hwndDesktop,hwndSetFocus : cardinal) : longbool; cdecl;                                                
-    function WinFocusChange(hwndDesktop,hwndSetFocus,flFocusChange : cardinal) : longbool; cdecl;                    
-    function WinSetCapture(hwndDesktop,hwnd : cardinal) : longbool; cdecl; 
+    function WinSetClassMsgInterest(hab : cardinal;pszClassName : pchar;msg_class : cardinal;control : longint) : longbool; cdecl;
+    function WinSetFocus(hwndDesktop,hwndSetFocus : cardinal) : longbool; cdecl;
+    function WinFocusChange(hwndDesktop,hwndSetFocus,flFocusChange : cardinal) : longbool; cdecl;
+    function WinSetCapture(hwndDesktop,hwnd : cardinal) : longbool; cdecl;
     function WinQueryCapture(hwndDesktop : cardinal) : cardinal; cdecl;
-    function WinQueryFocus(hwndDesktop : cardinal) : cardinal; cdecl;   
-    function WinGetKeyState(hwndDesktop : cardinal;vkey : longint) : longint; cdecl;     
-    function WinGetPhysKeyState(hwndDesktop : cardinal;sc : longint) : longint; cdecl;   
-    function WinEnablePhysInput(hwndDesktop : cardinal;fEnable : longbool) : longbool; cdecl;    
-    function WinIsPhysInputEnabled(hwndDesktop : cardinal) : longbool; cdecl;                
-    function WinSetKeyboardStateTable(hwndDesktop : cardinal;var pKeyStateTable : BYTE;fSet : longbool) : longbool; cdecl;
-    function WinGetDlgMsg(hwndDlg : cardinal;var pqmsg : QMSG) : longbool; cdecl;             
-    function WinLoadDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;  
-    function WinDlgBox(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;   
-    function WinDismissDlg(hwndDlg,usResult : cardinal) : longbool; cdecl;  
-    function WinQueryDlgItemShort(hwndDlg,idItem : cardinal;var pResult : integer;fSigned : longbool) : longbool; cdecl;  
-    function WinSetDlgItemShort(hwndDlg,idItem : cardinal;usValue : word;fSigned : longbool) : longbool; cdecl;        
+    function WinQueryFocus(hwndDesktop : cardinal) : cardinal; cdecl;
+    function WinGetKeyState(hwndDesktop : cardinal;vkey : longint) : longint; cdecl;
+    function WinGetPhysKeyState(hwndDesktop : cardinal;sc : longint) : longint; cdecl;
+    function WinEnablePhysInput(hwndDesktop : cardinal;fEnable : longbool) : longbool; cdecl;
+    function WinIsPhysInputEnabled(hwndDesktop : cardinal) : longbool; cdecl;
+    function WinSetKeyboardStateTable(hwndDesktop : cardinal;var KeyStateTable;fSet : longbool) : longbool; cdecl;
+    function WinSetKeyboardStateTable(hwndDesktop : cardinal;pKeyStateTable : pointer;fSet : longbool) : longbool; cdecl;
+    function WinGetDlgMsg(hwndDlg : cardinal;var _qmsg : TQMsg) : longbool; cdecl;
+    function WinGetDlgMsg(hwndDlg : cardinal;_pqmsg : PQMsg) : longbool; cdecl;
+    function WinLoadDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;
+    function WinDlgBox(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;
+    function WinDismissDlg(hwndDlg,usResult : cardinal) : longbool; cdecl;
+    function WinQueryDlgItemShort(hwndDlg,idItem : cardinal;var _Result : integer;fSigned : longbool) : longbool; cdecl;
+    function WinQueryDlgItemShort(hwndDlg,idItem : cardinal;PResult : PInteger;fSigned : longbool) : longbool; cdecl;
+    function WinSetDlgItemShort(hwndDlg,idItem : cardinal;usValue : word;fSigned : longbool) : longbool; cdecl;
     function WinSetDlgItemText(hwndDlg,idItem : cardinal;pszText : pchar) : longbool; cdecl;
-    function WinQueryDlgItemText(hwndDlg,idItem : cardinal;cchBufferMax : longint;pchBuffer : pchar) : cardinal; cdecl;       
-    function WinQueryDlgItemTextLength(hwndDlg,idItem : cardinal) : longint; cdecl;                                               
-    function WinDefDlgProc(hwndDlg,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;                              
+    function WinQueryDlgItemText(hwndDlg,idItem : cardinal;cchBufferMax : longint;pchBuffer : pchar) : cardinal; cdecl;
+    function WinQueryDlgItemTextLength(hwndDlg,idItem : cardinal) : longint; cdecl;
+    function WinDefDlgProc(hwndDlg,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;
     function WinAlarm(hwndDesktop,rgfType : cardinal) : longbool; cdecl;
     function WinMessageBox(hwndParent,hwndOwner : cardinal;pszText,pszCaption : pchar;idWindow,flStyle : cardinal) : cardinal; cdecl;
     function WinProcessDlg(hwndDlg : cardinal) : cardinal; cdecl;
     function WinSendDlgItemMsg(hwndDlg,idItem,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;
-    function WinMapDlgPoints(hwndDlg : cardinal;var prgwptl : POINTL;cwpt : cardinal;fCalcWindowCoords : longbool) : longbool; cdecl;     
-    function WinEnumDlgItem(hwndDlg,hwnd,code : cardinal) : cardinal; cdecl;                             
-    function WinSubstituteStrings(hwnd : cardinal;pszSrc : pchar;cchDstMax : longint;pszDst : pchar) : longint; cdecl;     
-    function WinCreateDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;var pdlgt : DLGTEMPLATE;pCreateParams : pointer) : cardinal; cdecl;
+    function WinMapDlgPoints(hwndDlg : cardinal;var prgwptl : TPointL;cwpt : cardinal;fCalcWindowCoords : longbool) : longbool; cdecl;
+    function WinMapDlgPoints(hwndDlg : cardinal;prgwptl : PPointL;cwpt : cardinal;fCalcWindowCoords : longbool) : longbool; cdecl;
+    function WinEnumDlgItem(hwndDlg,hwnd,code : cardinal) : cardinal; cdecl;
+    function WinSubstituteStrings(hwnd : cardinal;pszSrc : pchar;cchDstMax : longint;pszDst : pchar) : longint; cdecl;
+    function WinCreateDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;var dlgt : TDlgTemplate;pCreateParams : pointer) : cardinal; cdecl;
+    function WinCreateDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;pdlgt : PDlgTemplate;pCreateParams : pointer) : cardinal; cdecl;
     function WinLoadMenu(hwndFrame,hmod,idMenu : cardinal) : cardinal; cdecl;
-    function WinCreateMenu(hwndParent : cardinal;lpmt : pointer) : cardinal; cdecl; 
+    function WinCreateMenu(hwndParent : cardinal;lpmt : pointer) : cardinal; cdecl;
     function WinPopupMenu(hwndParent,hwndOwner,hwndMenu : cardinal;x,y,idItem : longint;fs : cardinal) : longbool; cdecl;
-    function WinCreateStdWindow(hwndParent,flStyle : cardinal;var pflCreateFlags : cardinal;pszClientClass,pszTitle : pchar;styleClient,hmod,idResources : cardinal;var phwndClient : cardinal) : cardinal; cdecl;
-    function WinFlashWindow(hwndFrame : cardinal;fFlash : longbool) : longbool; cdecl; 
-    function WinCreateFrameControls(hwndFrame : cardinal;var pfcdata : FRAMECDATA;pszTitle : pchar) : longbool;  cdecl;    
-    function WinCalcFrameRect(hwndFrame : cardinal;var prcl : RECTL;fClient : longbool) : longbool; cdecl;                         
-    function WinGetMinPosition(hwnd : cardinal;var pswp : SWP;var pptl : POINTL) : longbool; cdecl;                               
-    function WinGetMaxPosition(hwnd : cardinal;var pswp : SWP) : longbool; cdecl;                                              
-    function WinSaveWindowPos(hsvwp : cardinal;var pswp : SWP;cswp : cardinal) : longbool; cdecl;        
-    function WinCopyRect(hab : cardinal;var prclDst, prclSrc : RECTL) : longbool; cdecl;         
-    function WinSetRect(hab : cardinal;var prcl : RECTL;xLeft,yBottom,xRight,yTop : longint) : longbool; cdecl; 
-    function WinIsRectEmpty(hab : cardinal;var prcl : RECTL) : longbool; cdecl;                                                              
-    function WinEqualRect(hab : cardinal;var prcl1,prcl2 : RECTL) : longbool; cdecl;                                                
-    function WinSetRectEmpty(hab : cardinal;var prcl : RECTL) : longbool; cdecl;                                                             
-    function WinOffsetRect(hab : cardinal;var prcl : RECTL;cx,cy : longint) : longbool; cdecl;                                     
-    function WinInflateRect(hab : cardinal;var prcl : RECTL;cx,cy : longint) : longbool; cdecl;                                    
-    function WinPtInRect(hab : cardinal;var prcl : RECTL;var pptl : POINTL) : longbool; cdecl;                                                  
-    function WinIntersectRect(hab : cardinal;var prclDst,prclSrc1,prclSrc2 : RECTL) : longbool; cdecl;                     
-    function WinUnionRect(hab : cardinal;var prclDst,prclSrc1,prclSrc2 : RECTL) : longbool; cdecl;                         
-    function WinSubtractRect(hab : cardinal;var prclDst,prclSrc1,prclSrc2 : RECTL) : longbool; cdecl;                      
-    function WinMakeRect(hab : cardinal;var pwrc : RECTL) : longbool; cdecl;                                                                 
-    function WinMakePoints(hab : cardinal;var pwpt : POINTL;cwpt : cardinal) : longbool; cdecl;                                              
-    function WinQuerySysValue(hwndDesktop : cardinal;iSysValue : longint) : longint; cdecl;                                           
-    function WinSetSysValue(hwndDesktop : cardinal;iSysValue,lValue : longint) : longbool; cdecl;                               
-    function WinSetPresParam(hwnd,id,cbParam : cardinal;pbParam : pointer) : longbool;  cdecl; 
-    function WinQueryPresParam(hwnd,id1,id2 : cardinal;var pulId : cardinal;cbBuf : cardinal;pbBuf : pointer;fs : cardinal) : cardinal; cdecl;    
-    function WinRemovePresParam(hwnd,id : cardinal) : longbool; cdecl; 
-    function WinQuerySysColor(hwndDesktop : cardinal;clr,lReserved : longint) : longint; cdecl; 
-    function WinSetSysColors(hwndDesktop,flOptions,flFormat : cardinal;clrFirst : longint;cclr : cardinal;var pclr : longint) : longbool; cdecl;        
-    function WinStartTimer(hab,hwnd,idTimer,dtTimeout : cardinal) : cardinal; cdecl; 
-    function WinStopTimer(hab,hwnd,idTimer : cardinal) : longbool; cdecl; 
-    function WinGetCurrentTime(hab : cardinal) : cardinal; cdecl;                           
-    function WinLoadAccelTable(hab,hmod,idAccelTable : cardinal) : cardinal; cdecl;    
-    function WinCopyAccelTable(haccel : cardinal;var pAccelTable : ACCELTABLE;cbCopyMax : cardinal) : cardinal; cdecl;
-    function WinCreateAccelTable(hab : cardinal;var pAccelTable : ACCELTABLE) : cardinal; cdecl;                      
-    function WinDestroyAccelTable(haccel : cardinal) : longbool; cdecl;                                                
-    function WinTranslateAccel(hab,hwnd,haccel : cardinal;var pqmsg : QMSG) : longbool; cdecl;      
-    function WinSetAccelTable(hab,haccel,hwndFrame : cardinal) : longbool; cdecl;                
-    function WinQueryAccelTable(hab,hwndFrame : cardinal) : cardinal; cdecl;                            
-    function WinTrackRect(hwnd,hps : cardinal;var pti : TRACKINFO) : longbool; cdecl;        
+    function WinCreateStdWindow(hwndParent,flStyle : cardinal;var flCreateFlags : cardinal;pszClientClass,pszTitle : pchar;styleClient,hmod,idResources : cardinal;var hwndClient : cardinal) : cardinal; cdecl;
+    function WinCreateStdWindow(hwndParent,flStyle : cardinal;pflCreateFlags : PCardinal;pszClientClass,pszTitle : pchar;styleClient,hmod,idResources : cardinal;phwndClient : PCardinal) : cardinal; cdecl;
+    function WinFlashWindow(hwndFrame : cardinal;fFlash : longbool) : longbool; cdecl;
+    function WinCreateFrameControls(hwndFrame : cardinal;var fcdata : TFrameCData;pszTitle : pchar) : longbool;  cdecl;
+    function WinCreateFrameControls(hwndFrame : cardinal;pfcdata : PFrameCData;pszTitle : pchar) : longbool;  cdecl;
+    function WinCalcFrameRect(hwndFrame : cardinal;var rcl : TRectl;fClient : longbool) : longbool; cdecl;
+    function WinCalcFrameRect(hwndFrame : cardinal;prcl : PRectl;fClient : longbool) : longbool; cdecl;
+    function WinGetMinPosition(hwnd : cardinal;var _swp : TSWP;var pptl : POINTL) : longbool; cdecl;
+    function WinGetMinPosition(hwnd : cardinal;_pswp : PSWP;var pptl : POINTL) : longbool; cdecl;
+    function WinGetMaxPosition(hwnd : cardinal;var _swp : TSWP) : longbool; cdecl;
+    function WinGetMaxPosition(hwnd : cardinal;_pswp : PSWP) : longbool; cdecl;
+    function WinSaveWindowPos(hsvwp : cardinal;var _swp : TSWP;cswp : cardinal) : longbool; cdecl;
+    function WinSaveWindowPos(hsvwp : cardinal;_pswp : PSWP;cswp : cardinal) : longbool; cdecl;
+    function WinCopyRect(hab : cardinal;var rclDst, rclSrc : TRectl) : longbool; cdecl;
+    function WinCopyRect(hab : cardinal;prclDst, prclSrc : PRectl) : longbool; cdecl;
+    function WinSetRect(hab : cardinal;var rcl : TRectl;xLeft,yBottom,xRight,yTop : longint) : longbool; cdecl;
+    function WinSetRect(hab : cardinal;_prcl : PRectl;xLeft,yBottom,xRight,yTop : longint) : longbool; cdecl;
+    function WinIsRectEmpty(hab : cardinal;var rcl : TRectl) : longbool; cdecl;
+    function WinIsRectEmpty(hab : cardinal;prcl : PRectl) : longbool; cdecl;
+    function WinEqualRect(hab : cardinal;var rcl1,rcl2 : TRectl) : longbool; cdecl;
+    function WinEqualRect(hab : cardinal;prcl1,prcl2 : PRectl) : longbool; cdecl;
+    function WinSetRectEmpty(hab : cardinal;var rcl : TRectl) : longbool; cdecl;
+    function WinSetRectEmpty(hab : cardinal;prcl : PRectl) : longbool; cdecl;
+    function WinOffsetRect(hab : cardinal;var rcl : TRectl;cx,cy : longint) : longbool; cdecl;
+    function WinOffsetRect(hab : cardinal;prcl : PRectl;cx,cy : longint) : longbool; cdecl;
+    function WinInflateRect(hab : cardinal;var rcl : TRectl;cx,cy : longint) : longbool; cdecl;
+    function WinInflateRect(hab : cardinal;prcl : PRectl;cx,cy : longint) : longbool; cdecl;
+    function WinPtInRect(hab : cardinal;var rcl : TRectl;var ptl : TPointL) : longbool; cdecl;
+    function WinPtInRect(hab : cardinal;prcl : PRectl;pptl : PPointL) : longbool; cdecl;
+    function WinIntersectRect(hab : cardinal;var rclDst,rclSrc1,rclSrc2 : TRectl) : longbool; cdecl;
+    function WinIntersectRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRectl) : longbool; cdecl;
+    function WinUnionRect(hab : cardinal;var rclDst,rclSrc1,rclSrc2 : TRectl) : longbool; cdecl;
+    function WinUnionRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRectl) : longbool; cdecl;
+    function WinSubtractRect(hab : cardinal;var rclDst,rclSrc1,rclSrc2 : TRectl) : longbool; cdecl;
+    function WinSubtractRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRectl) : longbool; cdecl;
+    function WinMakeRect(hab : cardinal;var wrc : TRectl) : longbool; cdecl;
+    function WinMakeRect(hab : cardinal;pwrc : PRectl) : longbool; cdecl;
+    function WinMakePoints(hab : cardinal;var wpt : TPointL;cwpt : cardinal) : longbool; cdecl;
+    function WinMakePoints(hab : cardinal;pwpt : PPointL;cwpt : cardinal) : longbool; cdecl;
+    function WinQuerySysValue(hwndDesktop : cardinal;iSysValue : longint) : longint; cdecl;
+    function WinSetSysValue(hwndDesktop : cardinal;iSysValue,lValue : longint) : longbool; cdecl;
+    function WinSetPresParam(hwnd,id,cbParam : cardinal;pbParam : pointer) : longbool;  cdecl;
+    function WinQueryPresParam(hwnd,id1,id2 : cardinal;var ulId : cardinal;cbBuf : cardinal;pbBuf : pointer;fs : cardinal) : cardinal; cdecl;
+    function WinQueryPresParam(hwnd,id1,id2 : cardinal;pulId : PCardinal;cbBuf : cardinal;pbBuf : pointer;fs : cardinal) : cardinal; cdecl;
+    function WinRemovePresParam(hwnd,id : cardinal) : longbool; cdecl;
+    function WinQuerySysColor(hwndDesktop : cardinal;clr,lReserved : longint) : longint; cdecl;
+    function WinSetSysColors(hwndDesktop,flOptions,flFormat : cardinal;clrFirst : longint;cclr : cardinal;var clr : longint) : longbool; cdecl;
+    function WinSetSysColors(hwndDesktop,flOptions,flFormat : cardinal;clrFirst : longint;cclr : cardinal;pclr : PLongint) : longbool; cdecl;
+    function WinStartTimer(hab,hwnd,idTimer,dtTimeout : cardinal) : cardinal; cdecl;
+    function WinStopTimer(hab,hwnd,idTimer : cardinal) : longbool; cdecl;
+    function WinGetCurrentTime(hab : cardinal) : cardinal; cdecl;
+    function WinLoadAccelTable(hab,hmod,idAccelTable : cardinal) : cardinal; cdecl;
+    function WinCopyAccelTable(haccel : cardinal;var _AccelTable : TAccelTable;cbCopyMax : cardinal) : cardinal; cdecl;
+    function WinCopyAccelTable(haccel : cardinal;_pAccelTable : PAccelTable;cbCopyMax : cardinal) : cardinal; cdecl;
+    function WinCreateAccelTable(hab : cardinal;var _AccelTable : TAccelTable) : cardinal; cdecl;
+    function WinCreateAccelTable(hab : cardinal;_pAccelTable : PAccelTable) : cardinal; cdecl;
+    function WinDestroyAccelTable(haccel : cardinal) : longbool; cdecl;
+    function WinTranslateAccel(hab,hwnd,haccel : cardinal;var _qmsg : TQMsg) : longbool; cdecl;
+    function WinTranslateAccel(hab,hwnd,haccel : cardinal;_pqmsg : PQMsg) : longbool; cdecl;
+    function WinSetAccelTable(hab,haccel,hwndFrame : cardinal) : longbool; cdecl;
+    function WinQueryAccelTable(hab,hwndFrame : cardinal) : cardinal; cdecl;
+    function WinTrackRect(hwnd,hps : cardinal;var ti : TTrackInfo) : longbool; cdecl;
+    function WinTrackRect(hwnd,hps : cardinal;pti : PTrackInfo) : longbool; cdecl;
     function WinShowTrackRect(hwnd : cardinal;fShow : longbool) : longbool; cdecl;
-    function WinSetClipbrdOwner(hab,hwnd : cardinal) : longbool; cdecl;  
-    function WinSetClipbrdData(hab,ulData,fmt,rgfFmtInfo : cardinal) : longbool;  cdecl;  
-    function WinQueryClipbrdData(hab,fmt : cardinal) : cardinal;  cdecl;                                    
-    function WinQueryClipbrdFmtInfo(hab,fmt : cardinal;var prgfFmtInfo : cardinal) : longbool; cdecl;              
-    function WinSetClipbrdViewer(hab,hwndNewClipViewer : cardinal) : longbool;  cdecl;                      
-    function WinEnumClipbrdFmts(hab,fmt : cardinal) : cardinal; cdecl;   
-    function WinEmptyClipbrd(hab : cardinal) : longbool; cdecl;                         
-    function WinOpenClipbrd(hab : cardinal) : longbool;  cdecl;                         
-    function WinCloseClipbrd(hab : cardinal) : longbool; cdecl;                         
-    function WinQueryClipbrdOwner(hab : cardinal) : cardinal; cdecl;                
-    function WinQueryClipbrdViewer(hab : cardinal) : cardinal; cdecl;               
-    function WinDestroyCursor(hwnd : cardinal) : longbool; cdecl;                       
-    function WinShowCursor(hwnd : cardinal;fShow : longbool) : longbool; cdecl;             
-    function WinCreateCursor(hwnd : cardinal;x,y,cx,cy : longint;fs : cardinal;var prclClip : RECTL) : longbool; cdecl; 
-    function WinQueryCursorInfo(hwndDesktop : cardinal;var pCursorInfo : CURSORINFO) : longbool; cdecl;
-    function WinSetPointer(hwndDesktop,hptrNew : cardinal) : longbool; cdecl;       
-    function WinSetPointerOwner(hptr,pid : cardinal;fDestroy : longbool) : longbool; cdecl;  
-    function WinShowPointer(hwndDesktop : cardinal;fShow : longbool) : longbool; cdecl;            
+    function WinSetClipbrdOwner(hab,hwnd : cardinal) : longbool; cdecl;
+    function WinSetClipbrdData(hab,ulData,fmt,rgfFmtInfo : cardinal) : longbool;  cdecl;
+    function WinQueryClipbrdData(hab,fmt : cardinal) : cardinal;  cdecl;
+    function WinQueryClipbrdFmtInfo(hab,fmt : cardinal;var prgfFmtInfo : cardinal) : longbool; cdecl;
+    function WinQueryClipbrdFmtInfo(hab,fmt : cardinal;prgfFmtInfo : PCardinal) : longbool; cdecl;
+    function WinSetClipbrdViewer(hab,hwndNewClipViewer : cardinal) : longbool;  cdecl;
+    function WinEnumClipbrdFmts(hab,fmt : cardinal) : cardinal; cdecl;
+    function WinEmptyClipbrd(hab : cardinal) : longbool; cdecl;
+    function WinOpenClipbrd(hab : cardinal) : longbool;  cdecl;
+    function WinCloseClipbrd(hab : cardinal) : longbool; cdecl;
+    function WinQueryClipbrdOwner(hab : cardinal) : cardinal; cdecl;
+    function WinQueryClipbrdViewer(hab : cardinal) : cardinal; cdecl;
+    function WinDestroyCursor(hwnd : cardinal) : longbool; cdecl;
+    function WinShowCursor(hwnd : cardinal;fShow : longbool) : longbool; cdecl;
+    function WinCreateCursor(hwnd : cardinal;x,y,cx,cy : longint;fs : cardinal;var rclClip : TRectl) : longbool; cdecl;
+    function WinCreateCursor(hwnd : cardinal;x,y,cx,cy : longint;fs : cardinal;prclClip : PRectl) : longbool; cdecl;
+    function WinQueryCursorInfo(hwndDesktop : cardinal;var _CursorInfo : TCursorInfo) : longbool; cdecl;
+    function WinQueryCursorInfo(hwndDesktop : cardinal;_pCursorInfo : PCursorInfo) : longbool; cdecl;
+    function WinSetPointer(hwndDesktop,hptrNew : cardinal) : longbool; cdecl;
+    function WinSetPointerOwner(hptr,pid : cardinal;fDestroy : longbool) : longbool; cdecl;
+    function WinShowPointer(hwndDesktop : cardinal;fShow : longbool) : longbool; cdecl;
     function WinQuerySysPointer(hwndDesktop : cardinal;iptr : longint;fLoad : longbool) : cardinal; cdecl;
-    function WinLoadPointer(hwndDesktop,hmod,idres : cardinal) : cardinal; cdecl;           
-    function WinCreatePointer(hwndDesktop,hbmPointer : cardinal;fPointer : longbool;xHotspot,yHotspot : longint) : cardinal; cdecl; 
-    function WinSetPointerPos(hwndDesktop : cardinal;x,y : longint) : longbool; cdecl;                                                        
-    function WinDestroyPointer(hptr : cardinal) : longbool; cdecl;        
+    function WinLoadPointer(hwndDesktop,hmod,idres : cardinal) : cardinal; cdecl;
+    function WinCreatePointer(hwndDesktop,hbmPointer : cardinal;fPointer : longbool;xHotspot,yHotspot : longint) : cardinal; cdecl;
+    function WinSetPointerPos(hwndDesktop : cardinal;x,y : longint) : longbool; cdecl;
+    function WinDestroyPointer(hptr : cardinal) : longbool; cdecl;
     function WinQueryPointer(hwndDesktop : cardinal) : cardinal; cdecl;
-    function WinQueryPointerPos(hwndDesktop : cardinal;var pptl : POINTL) : longbool; cdecl;
-    function WinCreatePointerIndirect(hwndDesktop : cardinal;var pptri : POINTERINFO) : cardinal; cdecl;        
-    function WinQueryPointerInfo(hptr : cardinal;var pPointerInfo : POINTERINFO) : longbool; cdecl;                 
-    function WinDrawPointer(hps : cardinal;x,y : longint;hptr,fs : cardinal) : longbool; cdecl;  
+    function WinQueryPointerPos(hwndDesktop : cardinal;var ptl : TPointL) : longbool; cdecl;
+    function WinQueryPointerPos(hwndDesktop : cardinal;pptl : PPointL) : longbool; cdecl;
+    function WinCreatePointerIndirect(hwndDesktop : cardinal;var ptri : TPointerInfo) : cardinal; cdecl;
+    function WinCreatePointerIndirect(hwndDesktop : cardinal;pptri : PPointerInfo) : cardinal; cdecl;
+    function WinQueryPointerInfo(hptr : cardinal;var _PointerInfo : TPointerInfo) : longbool; cdecl;
+    function WinQueryPointerInfo(hptr : cardinal;_pPointerInfo : PPointerInfo) : longbool; cdecl;
+    function WinDrawPointer(hps : cardinal;x,y : longint;hptr,fs : cardinal) : longbool; cdecl;
     function WinGetSysBitmap(hwndDesktop,ibm : cardinal) : cardinal; cdecl;
     function WinSetHook(hab : cardinal;hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;
-    function WinReleaseHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl; 
-    function WinCallMsgFilter(hab : cardinal;var pqmsg : QMSG;msgf : cardinal) : longbool; cdecl;         
-    function WinSetClassThunkProc(pszClassname : pchar;pfnThunkProc : pointer) : longbool; cdecl;      
-    function WinQueryClassThunkProc(pszClassname : pchar) : pointer; cdecl;                        
-    function WinSetWindowThunkProc(hwnd : cardinal;pfnThunkProc : pointer) : longbool; cdecl;              
-    function WinQueryWindowThunkProc(hwnd : cardinal) : pointer; cdecl;                                
-    function WinQueryWindowModel(hwnd : cardinal) : longint; cdecl;                                
-    function WinQueryCp(hmq : cardinal) : cardinal; cdecl;                                         
-    function WinSetCp(hmq,idCodePage : cardinal) : longbool; cdecl;                         
-    function WinQueryCpList(hab,ccpMax : cardinal;var prgcp : cardinal) : cardinal; cdecl; 
-    function WinCpTranslateString(hab,cpSrc : cardinal;pszSrc : pchar;cpDst,cchDestMax : cardinal;pchDest : pchar) : longbool; cdecl; 
-    function WinCpTranslateChar(hab,cpSrc : cardinal;chSrc : byte;cpDst : cardinal) : byte; cdecl;                                                   
-    function WinUpper(hab,idcp,idcc : cardinal;psz : pchar) : cardinal; cdecl;                                                        
-    function WinUpperChar(hab,idcp,idcc,c : cardinal) : cardinal; cdecl;                                                       
-    function WinNextChar(hab,idcp,idcc : cardinal;psz : pchar) : pchar; cdecl;                                                    
-    function WinPrevChar(hab,idcp,idcc : cardinal;pszStart,psz : pchar) : pchar; cdecl;                               
-    function WinCompareStrings(hab,idcp,idcc : cardinal;psz1,psz2 : pchar;reserved : cardinal) : cardinal; cdecl;         
-    function WinCreateAtomTable(cbInitial,cBuckets : cardinal) : cardinal; cdecl;         
-    function WinDestroyAtomTable(hAtomTbl : cardinal) : cardinal; cdecl;                             
-    function WinAddAtom(hAtomTbl : cardinal;pszAtomName : pchar) : cardinal; cdecl;              
-    function WinFindAtom(hAtomTbl : cardinal;pszAtomName : pchar) : cardinal; cdecl;             
-    function WinDeleteAtom(hAtomTbl,atom : cardinal) : cardinal; cdecl;                   
-    function WinQueryAtomUsage(hAtomTbl,atom : cardinal) : cardinal; cdecl;               
-    function WinQueryAtomLength(hAtomTbl,atom : cardinal) : cardinal; cdecl;              
+    function WinReleaseHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;
+    function WinCallMsgFilter(hab : cardinal;var _qmsg : TQMsg;msgf : cardinal) : longbool; cdecl;
+    function WinCallMsgFilter(hab : cardinal;_pqmsg : PQMsg;msgf : cardinal) : longbool; cdecl;
+    function WinSetClassThunkProc(pszClassname : pchar;pfnThunkProc : pointer) : longbool; cdecl;
+    function WinQueryClassThunkProc(pszClassname : pchar) : pointer; cdecl;
+    function WinSetWindowThunkProc(hwnd : cardinal;pfnThunkProc : pointer) : longbool; cdecl;
+    function WinQueryWindowThunkProc(hwnd : cardinal) : pointer; cdecl;
+    function WinQueryWindowModel(hwnd : cardinal) : longint; cdecl;
+    function WinQueryCp(hmq : cardinal) : cardinal; cdecl;
+    function WinSetCp(hmq,idCodePage : cardinal) : longbool; cdecl;
+    function WinQueryCpList(hab,ccpMax : cardinal;var prgcp : cardinal) : cardinal; cdecl;
+    function WinQueryCpList(hab,ccpMax : cardinal;prgcp : PCardinal) : cardinal; cdecl;
+    function WinCpTranslateString(hab,cpSrc : cardinal;pszSrc : pchar;cpDst,cchDestMax : cardinal;pchDest : pchar) : longbool; cdecl;
+    function WinCpTranslateChar(hab,cpSrc : cardinal;chSrc : byte;cpDst : cardinal) : byte; cdecl;
+    function WinUpper(hab,idcp,idcc : cardinal;psz : pchar) : cardinal; cdecl;
+    function WinUpperChar(hab,idcp,idcc,c : cardinal) : cardinal; cdecl;
+    function WinNextChar(hab,idcp,idcc : cardinal;psz : pchar) : pchar; cdecl;
+    function WinPrevChar(hab,idcp,idcc : cardinal;pszStart,psz : pchar) : pchar; cdecl;
+    function WinCompareStrings(hab,idcp,idcc : cardinal;psz1,psz2 : pchar;reserved : cardinal) : cardinal; cdecl;
+    function WinCreateAtomTable(cbInitial,cBuckets : cardinal) : cardinal; cdecl;
+    function WinDestroyAtomTable(hAtomTbl : cardinal) : cardinal; cdecl;
+    function WinAddAtom(hAtomTbl : cardinal;pszAtomName : pchar) : cardinal; cdecl;
+    function WinFindAtom(hAtomTbl : cardinal;pszAtomName : pchar) : cardinal; cdecl;
+    function WinDeleteAtom(hAtomTbl,atom : cardinal) : cardinal; cdecl;
+    function WinQueryAtomUsage(hAtomTbl,atom : cardinal) : cardinal; cdecl;
+    function WinQueryAtomLength(hAtomTbl,atom : cardinal) : cardinal; cdecl;
     function WinQueryAtomName(hAtomTbl,atom : cardinal;pchBuffer : pchar;cchBufferMax : cardinal) : cardinal; cdecl;
     function WinGetLastError(hab : cardinal) : cardinal; cdecl;
     function WinGetErrorInfo(hab : cardinal) : PERRINFO; cdecl;
     function WinFreeErrorInfo(var perrinfo : ERRINFO) : longbool; cdecl;
     {DDE Functions}
-    function WinDdeInitiate(hwndClient : cardinal;pszAppName,pszTopicName : pchar;var pcctxt : CONVCONTEXT) : longbool; cdecl;
-    function WinDdeRespond(hwndClient,hwndServer : cardinal;pszAppName,pszTopicName : pchar;var pcctxt : CONVCONTEXT) : pointer; cdecl;
-    function WinDdePostMsg(hwndTo,hwndFrom,wm : cardinal;var pddest : DDESTRUCT;flOptions : cardinal) : longbool; cdecl;                        
+    function WinDdeInitiate(hwndClient : cardinal;pszAppName,pszTopicName : pchar;var cctxt : TConvContext) : longbool; cdecl;
+    function WinDdeInitiate(hwndClient : cardinal;pszAppName,pszTopicName : pchar;pcctxt : PConvContext) : longbool; cdecl;
+    function WinDdeRespond(hwndClient,hwndServer : cardinal;pszAppName,pszTopicName : pchar;var cctxt : TConvContext) : pointer; cdecl;
+    function WinDdeRespond(hwndClient,hwndServer : cardinal;pszAppName,pszTopicName : pchar;pcctxt : PConvContext) : pointer; cdecl;
+    function WinDdePostMsg(hwndTo,hwndFrom,wm : cardinal;var ddest : TDDEStruct;flOptions : cardinal) : longbool; cdecl;
+    function WinDdePostMsg(hwndTo,hwndFrom,wm : cardinal;pddest : PDDEStruct;flOptions : cardinal) : longbool; cdecl;
     {Library related functions}
     function WinDeleteProcedure(hab : cardinal;wndproc : proc) : longbool; cdecl;
     function WinDeleteLibrary(hab,libhandle : cardinal) : longbool; cdecl;
-    function WinLoadProcedure(hab,libhandle : cardinal;procname : pchar) : proc; cdecl; 
-    function WinLoadLibrary(hab : cardinal;libname : pchar) : cardinal; cdecl;                      
-    function WinSetDesktopBkgnd(hwndDesktop : cardinal;var pdskNew : DESKTOP) : cardinal; cdecl;
-    function WinQueryDesktopBkgnd(hwndDesktop : cardinal;var pdsk : DESKTOP) : longbool; cdecl;    
-    function WinRealizePalette(hwnd,hps : cardinal;var pcclr : cardinal) : longint; cdecl;
+    function WinLoadProcedure(hab,libhandle : cardinal;procname : pchar) : proc; cdecl;
+    function WinLoadLibrary(hab : cardinal;libname : pchar) : cardinal; cdecl;
+    function WinSetDesktopBkgnd(hwndDesktop : cardinal;var dskNew : TDesktop) : cardinal; cdecl;
+    function WinSetDesktopBkgnd(hwndDesktop : cardinal;pdskNew : PDesktop) : cardinal; cdecl;
+    function WinQueryDesktopBkgnd(hwndDesktop : cardinal;var dsk : TDesktop) : longbool; cdecl;
+    function WinQueryDesktopBkgnd(hwndDesktop : cardinal;pdsk : PDesktop) : longbool; cdecl;
+    function WinRealizePalette(hwnd,hps : cardinal;var cclr : cardinal) : longint; cdecl;
+    function WinRealizePalette(hwnd,hps : cardinal;pcclr : PCardinal) : longint; cdecl;
     function cardinalFROMMP(mp : pointer) : cardinal; cdecl;
     function integer1FROMMP(mp : pointer) : word; cdecl;
     function integer2FROMMP(mp : pointer) : word; cdecl;
 
   implementation
 
-    function WinRegisterClass(hab : cardinal;pszClassName : pchar;pfnWndProc : proc;flStyle,cbWindowData : cardinal) : longbool; cdecl;external 'pmwin.dll' index 926;
-    function WinDefWindowProc(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external 'pmwin.dll' index 911;
-    function WinDestroyWindow(hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 728;
-    function WinShowWindow(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external 'pmwin.dll' index 883;
-    function WinQueryWindowRect(hwnd : cardinal;var prclDest : RECTL) : longbool; cdecl;external 'pmwin.dll' index 840;
-    function WinGetPS(hwnd : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 757;
-    function WinReleasePS(hps : cardinal) : longbool; cdecl;external 'pmwin.dll' index 848;
-    function WinEndPaint(hps : cardinal) : longbool; cdecl;external 'pmwin.dll' index 738;
-    function WinGetClipPS(hwnd,hwndClip,fl : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 749;
-    function WinIsWindowShowing(hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 774;
-    function WinBeginPaint(hwnd,hps : cardinal; var prclPaint : RECTL) : cardinal; cdecl;external 'pmwin.dll' index 703;
-    function WinOpenWindowDC(hwnd : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 794;
-    function WinScrollWindow(hwnd : cardinal;dx,dy : longint;var prclScroll,prclClip : RECTL;hrgnUpdate : cardinal;var prclUpdate : RECTL;rgfsw : cardinal) : longint; cdecl;external 'pmwin.dll' index 849;
-    function WinFillRect(hps : cardinal;var prcl : RECTL;lColor : longint) : longbool; cdecl;external 'pmwin.dll' index 743;
-    function WinQueryVersion(hab : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 833;
-    function WinInitialize(flOptions : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 763;
-    function WinTerminate(hab : cardinal) : longbool; cdecl;external 'pmwin.dll' index 888;
-    function WinQueryAnchorBlock(hwnd : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 800;
-    function WinCreateWindow(hwndParent : cardinal;pszClass,pszName : pchar;flStyle : cardinal;x,y,cx,cy : longint;hwndOwner,hwndInsertBehind,id : cardinal;var pCtlData,PresParams : pointer) : cardinal; cdecl;external 'pmwin.dll' index 909;
-    function WinEnableWindow(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;external 'pmwin.dll' index 735;     
-    function WinIsWindowEnabled(hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 773;
-    function WinEnableWindowUpdate(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;external 'pmwin.dll' index 736;
-    function WinIsWindowVisible(hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 775;
-    function WinQueryWindowText(hwnd : cardinal;cchBufferMax : longint; pchBuffer : pchar) : longint; cdecl;external 'pmwin.dll' index 841;
-    function WinSetWindowText(hwnd : cardinal;pszText : pchar) : longbool; cdecl;external 'pmwin.dll' index 877;
-    function WinQueryWindowTextLength(hwnd : cardinal) : longint; cdecl;external 'pmwin.dll' index 842;
-    function WinWindowFromID(hwndParent,id : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 899;
-    function WinIsWindow(hab,hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 772;
-    function WinQueryWindow(hwnd : cardinal;cmd : longint) : cardinal; cdecl;external 'pmwin.dll' index 834;
-    function WinMultWindowFromIDs(hwndParent : cardinal;var prghwnd : cardinal;idFirst,idLast : cardinal) : longint; cdecl;external 'pmwin.dll' index 917;
-    function WinSetParent(hwnd,hwndNewParent : cardinal;fRedraw : longbool) : longbool; cdecl;external 'pmwin.dll' index 865;
-    function WinIsChild(hwnd,hwndParent : cardinal) : longbool; cdecl;external 'pmwin.dll' index 768;
-    function WinSetOwner(hwnd,hwndNewOwner : cardinal) : longbool; cdecl;external 'pmwin.dll' index 864;
-    function WinQueryWindowProcess(hwnd : cardinal;var ppid,ptid : cardinal) : longbool; cdecl;external 'pmwin.dll' index 838;
-    function WinQueryObjectWindow(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 820;
-    function WinQueryDesktopWindow(hab,hdc : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 813;
-    function WinSetWindowPos(hwnd,hwndInsertBehind : cardinal;x,y,cx,cy : longint;fl : cardinal) : longbool; cdecl;external 'pmwin.dll' index 875;
-    function WinSetMultWindowPos(hab : cardinal;var pswp : SWP;cswp : cardinal) : longbool; cdecl;external 'pmwin.dll' index 863;
-    function WinQueryWindowPos(hwnd : cardinal;var pswp : SWP) : longbool; cdecl;external 'pmwin.dll' index 837;
-    function WinUpdateWindow(hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 892;
-    function WinInvalidateRect(hwnd : cardinal;var pwrc : RECTL;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin.dll' index 765;
-    function WinInvalidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin.dll' index 766;
-    function WinInvertRect(hps : cardinal;var prcl : RECTL) : longbool; cdecl;external 'pmwin.dll' index 767;
-    function WinDrawBitmap(hpsDst,hbm : cardinal;var pwrcSrc : RECTL;var pptlDst : POINTL;clrFore,clrBack : longint;fl : cardinal) : longbool; cdecl;external 'pmwin.dll' index 730;
-    function WinDrawText(hps : cardinal;cchText : longint;lpchText : pchar;var prcl : RECTL;clrFore,clrBack : longint;flCmd : cardinal) : longint; cdecl;external 'pmwin.dll' index 913;
-    function WinDrawBorder(hps : cardinal;var prcl : RECTL;cx,cy,clrFore,clrBack : longint;flCmd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 731; 
-    function WinLoadString(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pchar) : longint; cdecl;external 'pmwin.dll' index 781;
-    function WinLoadMessage(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pchar) : longint; cdecl;external 'pmwin.dll' index 779;
-    function WinSetActiveWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 851;
-    function WinSubclassWindow(hwnd : cardinal;pfnwp : proc) : proc; cdecl;external 'pmwin.dll' index 929;
-    function WinQueryClassName(hwnd : cardinal;cchMax : longint; pch : pchar) : longint; cdecl;external 'pmwin.dll' index 805;
-    function WinQueryClassInfo(hab : cardinal;pszClassName : pchar;var pClassInfo : CLASSINFO) : longbool; cdecl;external 'pmwin.dll' index 925;
-    function WinQueryActiveWindow(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 799;
-    function WinIsThreadActive(hab : cardinal) : longbool; cdecl;external 'pmwin.dll' index 771;
-    function WinQuerySysModalWindow(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 827;
-    function WinSetSysModalWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 872;
-    function WinQueryWindowUShort(hwnd : cardinal;index : longint) : word; cdecl;external 'pmwin.dll' index 844;
-    function WinSetWindowUShort(hwnd : cardinal;index : longint;us : word) : longbool; cdecl;external 'pmwin.dll' index 879;
-    function WinQueryWindowULong(hwnd : cardinal;index : longint) : cardinal; cdecl;external 'pmwin.dll' index 843;
-    function WinSetWindowULong(hwnd : cardinal;index : longint;ul : cardinal) : longbool; cdecl;external 'pmwin.dll' index 878;
-    function WinQueryWindowPtr(hwnd : cardinal;index : longint) : pointer; cdecl;external 'pmwin.dll' index 839;
-    function WinSetWindowPtr(hwnd : cardinal;index : longint;p : pointer) : longbool; cdecl;external 'pmwin.dll' index 876;
-    function WinSetWindowBits(hwnd : cardinal;index : longint;flData,flMask : cardinal) : longbool; cdecl;external 'pmwin.dll' index 874;  
-    function WinBeginEnumWindows(hwnd : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 702;
-    function WinGetNextWindow(henum : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 756;
-    function WinEndEnumWindows(henum : cardinal) : longbool; cdecl;external 'pmwin.dll' index 737;
-    function WinWindowFromPoint(hwnd : cardinal;var pptl : POINTL;fChildren : longbool) : cardinal; cdecl;external 'pmwin.dll' index 900;
-    function WinMapWindowPoints(hwndFrom,hwndTo : cardinal;var prgptl : POINTL;cwpt : longint) : longbool; cdecl;external 'pmwin.dll' index 788;
-    function WinValidateRect(hwnd : cardinal;var prcl : RECTL;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin.dll' index 895;
-    function WinValidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin.dll' index 896;
-    function WinWindowFromDC(hdc : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 898;
-    function WinQueryWindowDC(hwnd : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 835;
-    function WinGetScreenPS(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 759;
-    function WinLockWindowUpdate(hwndDesktop,hwndLockUpdate : cardinal) : longbool; cdecl;external 'pmwin.dll' index 784;
-    function WinLockVisRegions(hwndDesktop : cardinal;fLock : longbool) : longbool; cdecl;external 'pmwin.dll' index 782;
-    function WinQueryUpdateRect(hwnd : cardinal;var prcl : RECTL) : longbool; cdecl;external 'pmwin.dll' index 831;
-    function WinQueryUpdateRegion(hwnd,hrgn : cardinal) : longint; cdecl;external 'pmwin.dll' index 832;
-    function WinExcludeUpdateRegion(hps,hwnd : cardinal) : longint; cdecl;external 'pmwin.dll' index 742;
-    function WinSendMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external 'pmwin.dll' index 920;
-    function WinCreateMsgQueue(hab : cardinal;cmsg : longint) : cardinal; cdecl;external 'pmwin.dll' index 716;
-    function WinDestroyMsgQueue(hmq : cardinal) : longbool; cdecl;external 'pmwin.dll' index 726;
-    function WinQueryQueueInfo(hmq : cardinal;var pmqi : MQINFO;cbCopy : cardinal) : longbool; cdecl;external 'pmwin.dll' index 824;
-    function WinCancelShutdown(hmq : cardinal;fCancelAlways : longbool) : longbool; cdecl;external 'pmwin.dll' index 705;
-    function WinGetMsg(hab : cardinal;var pqmsg : QMSG;hwndFilter,msgFilterFirst,msgFilterLast : cardinal) : longbool; cdecl;external 'pmwin.dll' index 915; 
-    function WinPeekMsg(hab : cardinal;var pqmsg : QMSG;hwndFilter,msgFilterFirst,msgFilterLast,fl : cardinal) : longbool; cdecl;external 'pmwin.dll' index 918;
-    function WinDispatchMsg(hab : cardinal;var pqmsg : QMSG) : pointer; cdecl;external 'pmwin.dll' index 912;
-    function WinPostMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;external 'pmwin.dll' index 919;
-    function WinRegisterUserMsg(hab,msgid : cardinal;datatype1,dir1,datatype2,dir2,datatyper : longint) : longbool; cdecl;external 'pmwin.dll' index 846;
-    function WinRegisterUserDatatype(hab : cardinal;datatype,count : longint;var types : longint) : longbool; cdecl;external 'pmwin.dll' index 845;
-    function WinSetMsgMode(hab : cardinal;classname :pchar;control : longint) : longbool; cdecl;external 'pmwin.dll' index 862;
-    function WinSetSynchroMode(hab : cardinal;mode : longint) : longbool; cdecl;external 'pmwin.dll' index 870;
-    function WinInSendMsg(hab : cardinal) : longbool; cdecl;external 'pmwin.dll' index 761;
-    function WinBroadcastMsg(hwnd,msg : cardinal;mp1,mp2 : pointer;rgf : cardinal) : longbool; cdecl;external 'pmwin.dll' index 901;
-    function WinWaitMsg(hab,msgFirst,msgLast : cardinal) : longbool; cdecl;external 'pmwin.dll' index 897;
-    function WinQueryQueueStatus(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 825;
-    function WinQueryMsgPos(hab : cardinal;var pptl : POINTL) : longbool; cdecl;external 'pmwin.dll' index 818;
-    function WinQueryMsgTime(hab : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 819;
-    function WinWaitEventSem(hev,ulTimeout : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 978;
-    function WinRequestMutexSem(hmtx,ulTimeout : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 979;
-    function WinWaitMuxWaitSem(hmux,ulTimeout : cardinal;var pulUser : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 980;
-    function WinPostQueueMsg(hmq,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;external 'pmwin.dll' index 902;
-    function WinSetMsgInterest(hwnd,msg_class : cardinal;control : longint) : longbool; cdecl;external 'pmwin.dll' index 861;
-    function WinSetClassMsgInterest(hab : cardinal;pszClassName : pchar;msg_class : cardinal;control : longint) : longbool; cdecl;external 'pmwin.dll' index 853;
-    function WinSetFocus(hwndDesktop,hwndSetFocus : cardinal) : longbool; cdecl;external 'pmwin.dll' index 860;
-    function WinFocusChange(hwndDesktop,hwndSetFocus,flFocusChange : cardinal) : longbool; cdecl;external 'pmwin.dll' index 746;
-    function WinSetCapture(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 852;
-    function WinQueryCapture(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 804;
-    function WinQueryFocus(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 817;
-    function WinGetKeyState(hwndDesktop : cardinal;vkey : longint) : longint; cdecl;external 'pmwin.dll' index 752;
-    function WinGetPhysKeyState(hwndDesktop : cardinal;sc : longint) : longint; cdecl;external 'pmwin.dll' index 758;
-    function WinEnablePhysInput(hwndDesktop : cardinal;fEnable : longbool) : longbool; cdecl;external 'pmwin.dll' index 734;
-    function WinIsPhysInputEnabled(hwndDesktop : cardinal) : longbool; cdecl;external 'pmwin.dll' index 769;
-    function WinSetKeyboardStateTable(hwndDesktop : cardinal;var pKeyStateTable : BYTE;fSet : longbool) : longbool; cdecl;external 'pmwin.dll' index 921;
-    function WinGetDlgMsg(hwndDlg : cardinal;var pqmsg : QMSG) : longbool; cdecl;external 'pmwin.dll' index 914;
-    function WinLoadDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;external 'pmwin.dll' index 924;
-    function WinDlgBox(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;external 'pmwin.dll' index 923;
-    function WinDismissDlg(hwndDlg,usResult : cardinal) : longbool; cdecl;external 'pmwin.dll' index 729;
-    function WinQueryDlgItemShort(hwndDlg,idItem : cardinal;var pResult : integer;fSigned : longbool) : longbool; cdecl;external 'pmwin.dll' index 814;
-    function WinSetDlgItemShort(hwndDlg,idItem : cardinal;usValue : word;fSigned : longbool) : longbool; cdecl;external 'pmwin.dll' index 858;
-    function WinSetDlgItemText(hwndDlg,idItem : cardinal;pszText : pchar) : longbool; cdecl;external 'pmwin.dll' index 859;
-    function WinQueryDlgItemText(hwndDlg,idItem : cardinal;cchBufferMax : longint;pchBuffer : pchar) : cardinal; cdecl;external 'pmwin.dll' index 815;
-    function WinQueryDlgItemTextLength(hwndDlg,idItem : cardinal) : longint; cdecl;external 'pmwin.dll' index 816;
-    function WinDefDlgProc(hwndDlg,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external 'pmwin.dll' index 910;
-    function WinAlarm(hwndDesktop,rgfType : cardinal) : longbool; cdecl;external 'pmwin.dll' index 701;
-    function WinMessageBox(hwndParent,hwndOwner : cardinal;pszText,pszCaption : pchar;idWindow,flStyle : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 789;
-    function WinProcessDlg(hwndDlg : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 796;
-    function WinSendDlgItemMsg(hwndDlg,idItem,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external 'pmwin.dll' index 903;
-    function WinMapDlgPoints(hwndDlg : cardinal;var prgwptl : POINTL;cwpt : cardinal;fCalcWindowCoords : longbool) : longbool; cdecl;external 'pmwin.dll' index 787;
-    function WinEnumDlgItem(hwndDlg,hwnd,code : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 740;
-    function WinSubstituteStrings(hwnd : cardinal;pszSrc : pchar;cchDstMax : longint;pszDst : pchar) : longint; cdecl;external 'pmwin.dll' index 886;
-    function WinCreateDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;var pdlgt : DLGTEMPLATE;pCreateParams : pointer) : cardinal; cdecl;external 'pmwin.dll' index 922;
-    function WinLoadMenu(hwndFrame,hmod,idMenu : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 778;
-    function WinCreateMenu(hwndParent : cardinal;lpmt : pointer) : cardinal; cdecl;external 'pmwin.dll' index 907;
-    function WinPopupMenu(hwndParent,hwndOwner,hwndMenu : cardinal;x,y,idItem : longint;fs : cardinal) : longbool; cdecl;external 'pmwin.dll' index 937;
-    function WinCreateStdWindow(hwndParent,flStyle : cardinal;var pflCreateFlags : cardinal;pszClientClass,pszTitle : pchar;styleClient,hmod,idResources : cardinal;var phwndClient : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 908;
-    function WinFlashWindow(hwndFrame : cardinal;fFlash : longbool) : longbool; cdecl;external 'pmwin.dll' index 745;
-    function WinCreateFrameControls(hwndFrame : cardinal;var pfcdata : FRAMECDATA;pszTitle : pchar) : longbool; cdecl;external 'pmwin.dll' index 906;
-    function WinCalcFrameRect(hwndFrame : cardinal;var prcl : RECTL;fClient : longbool) : longbool; cdecl;external 'pmwin.dll' index 704;
-    function WinGetMinPosition(hwnd : cardinal;var pswp : SWP;var pptl : POINTL) : longbool; cdecl;external 'pmwin.dll' index 755;
-    function WinGetMaxPosition(hwnd : cardinal;var pswp : SWP) : longbool; cdecl;external 'pmwin.dll' index 754;
-    function WinSaveWindowPos(hsvwp : cardinal;var pswp : SWP;cswp : cardinal) : longbool; cdecl;external 'pmwin.dll' index 943;
-    function WinCopyRect(hab : cardinal;var prclDst,prclSrc : RECTL) : longbool; cdecl;external 'pmwin.dll' index 710;
-    function WinSetRect(hab : cardinal;var prcl : RECTL;xLeft,yBottom,xRight,yTop : longint) : longbool; cdecl;external 'pmwin.dll' index 868;
-    function WinIsRectEmpty(hab : cardinal;var prcl : RECTL) : longbool; cdecl;external 'pmwin.dll' index 770;
-    function WinEqualRect(hab : cardinal;var prcl1,prcl2 : RECTL) : longbool; cdecl;external 'pmwin.dll' index 741;
-    function WinSetRectEmpty(hab : cardinal;var prcl : RECTL) : longbool; cdecl;external 'pmwin.dll' index 869;
-    function WinOffsetRect(hab : cardinal;var prcl : RECTL;cx,cy : longint) : longbool; cdecl;external 'pmwin.dll' index 792;
-    function WinInflateRect(hab : cardinal;var prcl : RECTL;cx,cy : longint) : longbool; cdecl;external 'pmwin.dll' index 762;
-    function WinPtInRect(hab : cardinal;var prcl : RECTL;var pptl : POINTL) : longbool; cdecl;external 'pmwin.dll' index 797;
-    function WinIntersectRect(hab : cardinal;var prclDst,prclSrc1,prclSrc2 : RECTL) : longbool; cdecl;external 'pmwin.dll' index 764;
-    function WinUnionRect(hab : cardinal;var prclDst,prclSrc1,prclSrc2 : RECTL) : longbool; cdecl;external 'pmwin.dll' index 891;
-    function WinSubtractRect(hab : cardinal;var prclDst,prclSrc1,prclSrc2 : RECTL) : longbool; cdecl;external 'pmwin.dll' index 887;
-    function WinMakeRect(hab : cardinal;var pwrc : RECTL) : longbool; cdecl;external 'pmwin.dll' index 786;
-    function WinMakePoints(hab : cardinal;var pwpt : POINTL;cwpt : cardinal) : longbool; cdecl;external 'pmwin.dll' index 785;
-    function WinQuerySysValue(hwndDesktop : cardinal;iSysValue : longint) : longint; cdecl;external 'pmwin.dll' index 829;
-    function WinSetSysValue(hwndDesktop : cardinal;iSysValue,lValue : longint) : longbool; cdecl;external 'pmwin.dll' index 873;
-    function WinSetPresParam(hwnd,id,cbParam : cardinal;pbParam : pointer) : longbool; cdecl;external 'pmwin.dll' index 938;
-    function WinQueryPresParam(hwnd,id1,id2 : cardinal;var pulId : cardinal;cbBuf : cardinal;pbBuf : pointer;fs : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 939;
-    function WinRemovePresParam(hwnd,id : cardinal) : longbool; cdecl;external 'pmwin.dll' index 940;
-    function WinQuerySysColor(hwndDesktop : cardinal;clr,lReserved : longint) : longint; cdecl;external 'pmwin.dll' index 826;
-    function WinSetSysColors(hwndDesktop,flOptions,flFormat : cardinal;clrFirst : longint;cclr : cardinal;var pclr : longint) : longbool; cdecl;external 'pmwin.dll' index 871;
-    function WinStartTimer(hab,hwnd,idTimer,dtTimeout : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 884;
-    function WinStopTimer(hab,hwnd,idTimer : cardinal) : longbool; cdecl;external 'pmwin.dll' index 885;
-    function WinGetCurrentTime(hab : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 750;
-    function WinLoadAccelTable(hab,hmod,idAccelTable : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 776;
-    function WinCopyAccelTable(haccel : cardinal;var pAccelTable : ACCELTABLE;cbCopyMax : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 709;
-    function WinCreateAccelTable(hab : cardinal;var pAccelTable : ACCELTABLE) : cardinal; cdecl;external 'pmwin.dll' index 713;
-    function WinDestroyAccelTable(haccel : cardinal) : longbool; cdecl;external 'pmwin.dll' index 723;
-    function WinTranslateAccel(hab,hwnd,haccel : cardinal;var pqmsg : QMSG) : longbool; cdecl;external 'pmwin.dll' index 904;
-    function WinSetAccelTable(hab,haccel,hwndFrame : cardinal) : longbool; cdecl;external 'pmwin.dll' index 850;
-    function WinQueryAccelTable(hab,hwndFrame : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 798;
-    function WinTrackRect(hwnd,hps : cardinal;var pti : TRACKINFO) : longbool; cdecl;external 'pmwin.dll' index 890;
-    function WinShowTrackRect(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external 'pmwin.dll' index 882;
-    function WinSetClipbrdOwner(hab,hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 855;
-    function WinSetClipbrdData(hab,ulData,fmt,rgfFmtInfo : cardinal) : longbool; cdecl;external 'pmwin.dll' index 854;
-    function WinQueryClipbrdData(hab,fmt : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 806;
-    function WinQueryClipbrdFmtInfo(hab,fmt : cardinal;var prgfFmtInfo : cardinal) : longbool; cdecl;external 'pmwin.dll' index 807;
-    function WinSetClipbrdViewer(hab,hwndNewClipViewer : cardinal) : longbool; cdecl;external 'pmwin.dll' index 856;
-    function WinEnumClipbrdFmts(hab,fmt : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 739;
-    function WinEmptyClipbrd(hab : cardinal) : longbool; cdecl;external 'pmwin.dll' index 733;
-    function WinOpenClipbrd(hab : cardinal) : longbool; cdecl;external 'pmwin.dll' index 793;
-    function WinCloseClipbrd(hab : cardinal) : longbool; cdecl;external 'pmwin.dll' index 707;
-    function WinQueryClipbrdOwner(hab : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 808;
-    function WinQueryClipbrdViewer(hab : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 809;
-    function WinDestroyCursor(hwnd : cardinal) : longbool; cdecl;external 'pmwin.dll' index 725;
-    function WinShowCursor(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external 'pmwin.dll' index 880;
-    function WinCreateCursor(hwnd : cardinal;x,y,cx,cy : longint;fs : cardinal;var prclClip : RECTL) : longbool; cdecl;external 'pmwin.dll' index 715;
-    function WinQueryCursorInfo(hwndDesktop : cardinal;var pCursorInfo : CURSORINFO) : longbool; cdecl;external 'pmwin.dll' index 812;
-    function WinSetPointer(hwndDesktop,hptrNew : cardinal) : longbool; cdecl;external 'pmwin.dll' index 866;
-    function WinSetPointerOwner(hptr,pid : cardinal;fDestroy : longbool) : longbool; cdecl;external 'pmwin.dll' index 971;
-    function WinShowPointer(hwndDesktop : cardinal;fShow : longbool) : longbool; cdecl;external 'pmwin.dll' index 881;
-    function WinQuerySysPointer(hwndDesktop : cardinal;iptr : longint;fLoad : longbool) : cardinal; cdecl;external 'pmwin.dll' index 828;
-    function WinLoadPointer(hwndDesktop,hmod,idres : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 780;
-    function WinCreatePointer(hwndDesktop,hbmPointer : cardinal;fPointer : longbool;xHotspot,yHotspot : longint) : cardinal; cdecl;external 'pmwin.dll' index 717;
-    function WinSetPointerPos(hwndDesktop : cardinal;x,y : longint) : longbool; cdecl;external 'pmwin.dll' index 867;
-    function WinDestroyPointer(hptr : cardinal) : longbool; cdecl;external 'pmwin.dll' index 727;
-    function WinQueryPointer(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 821;
-    function WinQueryPointerPos(hwndDesktop : cardinal;var pptl : POINTL) : longbool; cdecl;external 'pmwin.dll' index 823;
-    function WinCreatePointerIndirect(hwndDesktop : cardinal;var pptri : POINTERINFO) : cardinal; cdecl;external 'pmwin.dll' index 942;
-    function WinQueryPointerInfo(hptr : cardinal;var pPointerInfo : POINTERINFO) : longbool; cdecl;external 'pmwin.dll' index 822;
-    function WinDrawPointer(hps : cardinal;x,y : longint;hptr,fs : cardinal) : longbool; cdecl;external 'pmwin.dll' index 732;
-    function WinGetSysBitmap(hwndDesktop,ibm : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 760;
-    function WinSetHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;external 'pmwin.dll' index 928;
-    function WinReleaseHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;external 'pmwin.dll' index 927;
-    function WinCallMsgFilter(hab : cardinal;var pqmsg : QMSG;msgf : cardinal) : longbool; cdecl;external 'pmwin.dll' index 905;
-    function WinSetClassThunkProc(pszClassname : pchar;pfnThunkProc : pointer) : longbool; cdecl;external 'pmwin.dll' index 959;
-    function WinQueryClassThunkProc(pszClassname : pchar) : pointer; cdecl;external 'pmwin.dll' index 960;
-    function WinSetWindowThunkProc(hwnd : cardinal;pfnThunkProc : pointer) : longbool; cdecl;external 'pmwin.dll' index 961;
-    function WinQueryWindowThunkProc(hwnd : cardinal) : pointer; cdecl;external 'pmwin.dll' index 962;
-    function WinQueryWindowModel(hwnd : cardinal) : longint; cdecl;external 'pmwin.dll' index 934;
-    function WinQueryCp(hmq : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 810;
-    function WinSetCp(hmq,idCodePage : cardinal) : longbool; cdecl;external 'pmwin.dll' index 857;
-    function WinQueryCpList(hab,ccpMax : cardinal;var prgcp : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 811;
-    function WinCpTranslateString(hab,cpSrc : cardinal;pszSrc : pchar;cpDst,cchDestMax : cardinal;pchDest : pchar) : longbool; cdecl;external 'pmwin.dll' index 712;
-    function WinCpTranslateChar(hab,cpSrc : cardinal;chSrc : byte;cpDst : cardinal) : byte; cdecl;external 'pmwin.dll' index 711;
-    function WinUpper(hab,idcp,idcc : cardinal;psz : pchar) : cardinal; cdecl;external 'pmwin.dll' index 893;
-    function WinUpperChar(hab,idcp,idcc,c : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 894;
-    function WinNextChar(hab,idcp,idcc : cardinal;psz : pchar) : pchar; cdecl;external 'pmwin.dll' index 791;
-    function WinPrevChar(hab,idcp,idcc : cardinal;pszStart,psz : pchar) : pchar; cdecl;external 'pmwin.dll' index 795;
-    function WinCompareStrings(hab,idcp,idcc : cardinal;psz1,psz2 : pchar;reserved : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 708;
-    function WinCreateAtomTable(cbInitial,cBuckets : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 714;
-    function WinDestroyAtomTable(hAtomTbl : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 724;
-    function WinAddAtom(hAtomTbl : cardinal;pszAtomName : pchar) : cardinal; cdecl;external 'pmwin.dll' index 700;
-    function WinFindAtom(hAtomTbl : cardinal;pszAtomName : pchar) : cardinal; cdecl;external 'pmwin.dll' index 744;
-    function WinDeleteAtom(hAtomTbl,atom : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 721;
-    function WinQueryAtomUsage(hAtomTbl,atom : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 803;
-    function WinQueryAtomLength(hAtomTbl,atom : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 801;
-    function WinQueryAtomName(hAtomTbl,atom : cardinal;pchBuffer : pchar;cchBufferMax : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 802;
-    function WinGetLastError(hab : cardinal) : cardinal; cdecl;external 'pmwin.dll' index 753;
-    function WinGetErrorInfo(hab : cardinal) : PERRINFO; cdecl;external 'pmwin.dll' index 751;
-    function WinFreeErrorInfo(var perrinfo : ERRINFO) : longbool; cdecl;external 'pmwin.dll' index 748;
-    function WinDdeInitiate(hwndClient : cardinal;pszAppName,pszTopicName : pchar;var pcctxt : CONVCONTEXT) : longbool; cdecl;external 'pmwin.dll' index 718;
-    function WinDdeRespond(hwndClient,hwndServer : cardinal;pszAppName,pszTopicName : pchar;var pcctxt : CONVCONTEXT) : pointer; cdecl;external 'pmwin.dll' index 720;
-    function WinDdePostMsg(hwndTo,hwndFrom,wm : cardinal;var pddest : DDESTRUCT;flOptions : cardinal) : longbool; cdecl;external 'pmwin.dll' index 719;
-    function WinDeleteProcedure(hab : cardinal;wndproc : proc) : longbool; cdecl;external 'pmwin.dll' index 987;
-    function WinDeleteLibrary(hab,libhandle : cardinal) : longbool; cdecl;external 'pmwin.dll' index 722;
-    function WinLoadProcedure(hab,libhandle : cardinal;procname : pchar) : proc; cdecl;external 'pmwin.dll' index 986;
-    function WinLoadLibrary(hab : cardinal;libname : pchar) : cardinal; cdecl;external 'pmwin.dll' index 777;
-    function WinSetDesktopBkgnd(hwndDesktop : cardinal;var pdskNew : DESKTOP) : cardinal; cdecl;external 'pmwin.dll' index 935;
-    function WinQueryDesktopBkgnd(hwndDesktop : cardinal;var pdsk : DESKTOP) : longbool; cdecl;external 'pmwin.dll' index 936;
-    function WinRealizePalette(hwnd,hps : cardinal;var pcclr : cardinal) : longint; cdecl;external 'pmwin.dll' index 941;          
+    function WinRegisterClass(hab : cardinal;pszClassName : pchar;pfnWndProc : proc;flStyle,cbWindowData : cardinal) : longbool; cdecl;external 'pmwin' index 926;
+    function WinDefWindowProc(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external 'pmwin' index 911;
+    function WinDestroyWindow(hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 728;
+    function WinShowWindow(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external 'pmwin' index 883;
+    function WinQueryWindowRect(hwnd : cardinal;var rclDest : TRectl) : longbool; cdecl;external 'pmwin' index 840;
+    function WinQueryWindowRect(hwnd : cardinal;prclDest : PRectl) : longbool; cdecl;external 'pmwin' index 840;
+    function WinGetPS(hwnd : cardinal) : cardinal; cdecl;external 'pmwin' index 757;
+    function WinReleasePS(hps : cardinal) : longbool; cdecl;external 'pmwin' index 848;
+    function WinEndPaint(hps : cardinal) : longbool; cdecl;external 'pmwin' index 738;
+    function WinGetClipPS(hwnd,hwndClip,fl : cardinal) : cardinal; cdecl;external 'pmwin' index 749;
+    function WinIsWindowShowing(hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 774;
+    function WinBeginPaint(hwnd,hps : cardinal; var rclPaint : TRectl) : cardinal; cdecl;external 'pmwin' index 703;
+    function WinBeginPaint(hwnd,hps : cardinal; prclPaint : PRectl) : cardinal; cdecl;external 'pmwin' index 703;
+    function WinOpenWindowDC(hwnd : cardinal) : cardinal; cdecl;external 'pmwin' index 794;
+    function WinScrollWindow(hwnd : cardinal;dx,dy : longint;var rclScroll,rclClip : TRectl;hrgnUpdate : cardinal;var rclUpdate : TRectl;rgfsw : cardinal) : longint; cdecl;external 'pmwin' index 849;
+    function WinScrollWindow(hwnd : cardinal;dx,dy : longint;prclScroll,prclClip : PRectl;hrgnUpdate : cardinal;prclUpdate : PRectl;rgfsw : cardinal) : longint; cdecl;external 'pmwin' index 849;
+    function WinFillRect(hps : cardinal;var rcl : TRectl;lColor : longint) : longbool; cdecl;external 'pmwin' index 743;
+    function WinFillRect(hps : cardinal;prcl : PRectl;lColor : longint) : longbool; cdecl;external 'pmwin' index 743;
+    function WinQueryVersion(hab : cardinal) : cardinal; cdecl;external 'pmwin' index 833;
+    function WinInitialize(flOptions : cardinal) : cardinal; cdecl;external 'pmwin' index 763;
+    function WinTerminate(hab : cardinal) : longbool; cdecl;external 'pmwin' index 888;
+    function WinQueryAnchorBlock(hwnd : cardinal) : cardinal; cdecl;external 'pmwin' index 800;
+    function WinCreateWindow(hwndParent : cardinal;pszClass,pszName : pchar;flStyle : cardinal;x,y,cx,cy : longint;hwndOwner,hwndInsertBehind,id : cardinal;var pCtlData,PresParams : pointer) : cardinal; cdecl;external 'pmwin' index 909;
+    function WinEnableWindow(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;external 'pmwin' index 735;
+    function WinIsWindowEnabled(hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 773;
+    function WinEnableWindowUpdate(hwnd : cardinal;fEnable : longbool) : longbool; cdecl;external 'pmwin' index 736;
+    function WinIsWindowVisible(hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 775;
+    function WinQueryWindowText(hwnd : cardinal;cchBufferMax : longint; pchBuffer : pchar) : longint; cdecl;external 'pmwin' index 841;
+    function WinSetWindowText(hwnd : cardinal;pszText : pchar) : longbool; cdecl;external 'pmwin' index 877;
+    function WinQueryWindowTextLength(hwnd : cardinal) : longint; cdecl;external 'pmwin' index 842;
+    function WinWindowFromID(hwndParent,id : cardinal) : cardinal; cdecl;external 'pmwin' index 899;
+    function WinIsWindow(hab,hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 772;
+    function WinQueryWindow(hwnd : cardinal;cmd : longint) : cardinal; cdecl;external 'pmwin' index 834;
+    function WinMultWindowFromIDs(hwndParent : cardinal;var prghwnd : cardinal;idFirst,idLast : cardinal) : longint; cdecl;external 'pmwin' index 917;
+    function WinMultWindowFromIDs(hwndParent : cardinal;prghwnd : PCardinal;idFirst,idLast : cardinal) : longint; cdecl;external 'pmwin' index 917;
+    function WinSetParent(hwnd,hwndNewParent : cardinal;fRedraw : longbool) : longbool; cdecl;external 'pmwin' index 865;
+    function WinIsChild(hwnd,hwndParent : cardinal) : longbool; cdecl;external 'pmwin' index 768;
+    function WinSetOwner(hwnd,hwndNewOwner : cardinal) : longbool; cdecl;external 'pmwin' index 864;
+    function WinQueryWindowProcess(hwnd : cardinal;var _pid,_tid : cardinal) : longbool; cdecl;external 'pmwin' index 838;
+    function WinQueryWindowProcess(hwnd : cardinal;_ppid,_ptid : PCardinal) : longbool; cdecl;external 'pmwin' index 838;
+    function WinQueryObjectWindow(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin' index 820;
+    function WinQueryDesktopWindow(hab,hdc : cardinal) : cardinal; cdecl;external 'pmwin' index 813;
+    function WinSetWindowPos(hwnd,hwndInsertBehind : cardinal;x,y,cx,cy : longint;fl : cardinal) : longbool; cdecl;external 'pmwin' index 875;
+    function WinSetMultWindowPos(hab : cardinal;var _swp : TSWP;cswp : cardinal) : longbool; cdecl;external 'pmwin' index 863;
+    function WinSetMultWindowPos(hab : cardinal;_pswp : PSWP;cswp : cardinal) : longbool; cdecl;external 'pmwin' index 863;
+    function WinQueryWindowPos(hwnd : cardinal;var _swp : TSWP) : longbool; cdecl;external 'pmwin' index 837;
+    function WinQueryWindowPos(hwnd : cardinal;_pswp : PSWP) : longbool; cdecl;external 'pmwin' index 837;
+    function WinUpdateWindow(hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 892;
+    function WinInvalidateRect(hwnd : cardinal;var wrc : TRectl;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin' index 765;
+    function WinInvalidateRect(hwnd : cardinal;pwrc : PRectl;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin' index 765;
+    function WinInvalidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin' index 766;
+    function WinInvertRect(hps : cardinal;var rcl : TRectl) : longbool; cdecl;external 'pmwin' index 767;
+    function WinInvertRect(hps : cardinal;prcl : PRectl) : longbool; cdecl;external 'pmwin' index 767;
+    function WinDrawBitmap(hpsDst,hbm : cardinal;var wrcSrc : TRectl;var ptlDst : TPointL;clrFore,clrBack : longint;fl : cardinal) : longbool; cdecl;external 'pmwin' index 730;
+    function WinDrawBitmap(hpsDst,hbm : cardinal;pwrcSrc : PRectl;pptlDst : PPointL;clrFore,clrBack : longint;fl : cardinal) : longbool; cdecl;external 'pmwin' index 730;
+    function WinDrawText(hps : cardinal;cchText : longint;lpchText : pchar;var rcl : TRectl;clrFore,clrBack : longint;flCmd : cardinal) : longint; cdecl;external 'pmwin' index 913;
+    function WinDrawText(hps : cardinal;cchText : longint;lpchText : pchar;prcl : PRectl;clrFore,clrBack : longint;flCmd : cardinal) : longint; cdecl;external 'pmwin' index 913;
+    function WinDrawBorder(hps : cardinal;var rcl : TRectl;cx,cy,clrFore,clrBack : longint;flCmd : cardinal) : longbool; cdecl;external 'pmwin' index 731;
+    function WinDrawBorder(hps : cardinal;prcl : PRectl;cx,cy,clrFore,clrBack : longint;flCmd : cardinal) : longbool; cdecl;external 'pmwin' index 731;
+    function WinLoadString(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pchar) : longint; cdecl;external 'pmwin' index 781;
+    function WinLoadMessage(hab,hmod,id : cardinal;cchMax : longint;pchBuffer : pchar) : longint; cdecl;external 'pmwin' index 779;
+    function WinSetActiveWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 851;
+    function WinSubclassWindow(hwnd : cardinal;pfnwp : proc) : proc; cdecl;external 'pmwin' index 929;
+    function WinQueryClassName(hwnd : cardinal;cchMax : longint; pch : pchar) : longint; cdecl;external 'pmwin' index 805;
+    function WinQueryClassInfo(hab : cardinal;pszClassName : pchar;var _ClassInfo : TClassInfo) : longbool; cdecl;external 'pmwin' index 925;
+    function WinQueryClassInfo(hab : cardinal;pszClassName : pchar;_pClassInfo : PClassInfo) : longbool; cdecl;external 'pmwin' index 925;
+    function WinQueryActiveWindow(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin' index 799;
+    function WinIsThreadActive(hab : cardinal) : longbool; cdecl;external 'pmwin' index 771;
+    function WinQuerySysModalWindow(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin' index 827;
+    function WinSetSysModalWindow(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 872;
+    function WinQueryWindowUShort(hwnd : cardinal;index : longint) : word; cdecl;external 'pmwin' index 844;
+    function WinSetWindowUShort(hwnd : cardinal;index : longint;us : word) : longbool; cdecl;external 'pmwin' index 879;
+    function WinQueryWindowULong(hwnd : cardinal;index : longint) : cardinal; cdecl;external 'pmwin' index 843;
+    function WinSetWindowULong(hwnd : cardinal;index : longint;ul : cardinal) : longbool; cdecl;external 'pmwin' index 878;
+    function WinQueryWindowPtr(hwnd : cardinal;index : longint) : pointer; cdecl;external 'pmwin' index 839;
+    function WinSetWindowPtr(hwnd : cardinal;index : longint;p : pointer) : longbool; cdecl;external 'pmwin' index 876;
+    function WinSetWindowBits(hwnd : cardinal;index : longint;flData,flMask : cardinal) : longbool; cdecl;external 'pmwin' index 874;
+    function WinBeginEnumWindows(hwnd : cardinal) : cardinal; cdecl;external 'pmwin' index 702;
+    function WinGetNextWindow(henum : cardinal) : cardinal; cdecl;external 'pmwin' index 756;
+    function WinEndEnumWindows(henum : cardinal) : longbool; cdecl;external 'pmwin' index 737;
+    function WinWindowFromPoint(hwnd : cardinal;var ptl : TPointL;fChildren : longbool) : cardinal; cdecl;external 'pmwin' index 900;
+    function WinWindowFromPoint(hwnd : cardinal;pptl : PPointL;fChildren : longbool) : cardinal; cdecl;external 'pmwin' index 900;
+    function WinMapWindowPoints(hwndFrom,hwndTo : cardinal;var prgptl : TPointL;cwpt : longint) : longbool; cdecl;external 'pmwin' index 788;
+    function WinMapWindowPoints(hwndFrom,hwndTo : cardinal;prgptl : PPointL;cwpt : longint) : longbool; cdecl;external 'pmwin' index 788;
+    function WinValidateRect(hwnd : cardinal;var rcl : TRectl;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin' index 895;
+    function WinValidateRect(hwnd : cardinal;prcl : PRectl;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin' index 895;
+    function WinValidateRegion(hwnd,hrgn : cardinal;fIncludeChildren : longbool) : longbool; cdecl;external 'pmwin' index 896;
+    function WinWindowFromDC(hdc : cardinal) : cardinal; cdecl;external 'pmwin' index 898;
+    function WinQueryWindowDC(hwnd : cardinal) : cardinal; cdecl;external 'pmwin' index 835;
+    function WinGetScreenPS(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin' index 759;
+    function WinLockWindowUpdate(hwndDesktop,hwndLockUpdate : cardinal) : longbool; cdecl;external 'pmwin' index 784;
+    function WinLockVisRegions(hwndDesktop : cardinal;fLock : longbool) : longbool; cdecl;external 'pmwin' index 782;
+    function WinQueryUpdateRect(hwnd : cardinal;var rcl : TRectl) : longbool; cdecl;external 'pmwin' index 831;
+    function WinQueryUpdateRect(hwnd : cardinal;prcl : PRectl) : longbool; cdecl;external 'pmwin' index 831;
+    function WinQueryUpdateRegion(hwnd,hrgn : cardinal) : longint; cdecl;external 'pmwin' index 832;
+    function WinExcludeUpdateRegion(hps,hwnd : cardinal) : longint; cdecl;external 'pmwin' index 742;
+    function WinSendMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external 'pmwin' index 920;
+    function WinCreateMsgQueue(hab : cardinal;cmsg : longint) : cardinal; cdecl;external 'pmwin' index 716;
+    function WinDestroyMsgQueue(hmq : cardinal) : longbool; cdecl;external 'pmwin' index 726;
+    function WinQueryQueueInfo(hmq : cardinal;var mqi : TMQInfo;cbCopy : cardinal) : longbool; cdecl;external 'pmwin' index 824;
+    function WinQueryQueueInfo(hmq : cardinal;pmqi : PMQInfo;cbCopy : cardinal) : longbool; cdecl;external 'pmwin' index 824;
+    function WinCancelShutdown(hmq : cardinal;fCancelAlways : longbool) : longbool; cdecl;external 'pmwin' index 705;
+    function WinGetMsg(hab : cardinal;var _qmsg : TQMsg;hwndFilter,msgFilterFirst,msgFilterLast : cardinal) : longbool; cdecl;external 'pmwin' index 915;
+    function WinGetMsg(hab : cardinal;_pqmsg : PQMsg;hwndFilter,msgFilterFirst,msgFilterLast : cardinal) : longbool; cdecl;external 'pmwin' index 915;
+    function WinPeekMsg(hab : cardinal;var _qmsg : TQMsg;hwndFilter,msgFilterFirst,msgFilterLast,fl : cardinal) : longbool; cdecl;external 'pmwin' index 918;
+    function WinPeekMsg(hab : cardinal;_pqmsg : PQMsg;hwndFilter,msgFilterFirst,msgFilterLast,fl : cardinal) : longbool; cdecl;external 'pmwin' index 918;
+    function WinDispatchMsg(hab : cardinal;var _qmsg : TQMsg) : pointer; cdecl;external 'pmwin' index 912;
+    function WinDispatchMsg(hab : cardinal;_pqmsg : PQMsg) : pointer; cdecl;external 'pmwin' index 912;
+    function WinPostMsg(hwnd,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;external 'pmwin' index 919;
+    function WinRegisterUserMsg(hab,msgid : cardinal;datatype1,dir1,datatype2,dir2,datatyper : longint) : longbool; cdecl;external 'pmwin' index 846;
+    function WinRegisterUserDatatype(hab : cardinal;datatype,count : longint;var types : longint) : longbool; cdecl;external 'pmwin' index 845;
+    function WinSetMsgMode(hab : cardinal;classname :pchar;control : longint) : longbool; cdecl;external 'pmwin' index 862;
+    function WinSetSynchroMode(hab : cardinal;mode : longint) : longbool; cdecl;external 'pmwin' index 870;
+    function WinInSendMsg(hab : cardinal) : longbool; cdecl;external 'pmwin' index 761;
+    function WinBroadcastMsg(hwnd,msg : cardinal;mp1,mp2 : pointer;rgf : cardinal) : longbool; cdecl;external 'pmwin' index 901;
+    function WinWaitMsg(hab,msgFirst,msgLast : cardinal) : longbool; cdecl;external 'pmwin' index 897;
+    function WinQueryQueueStatus(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin' index 825;
+    function WinQueryMsgPos(hab : cardinal;var ptl : TPointL) : longbool; cdecl;external 'pmwin' index 818;
+    function WinQueryMsgPos(hab : cardinal;pptl : PPointL) : longbool; cdecl;external 'pmwin' index 818;
+    function WinQueryMsgTime(hab : cardinal) : cardinal; cdecl;external 'pmwin' index 819;
+    function WinWaitEventSem(hev,ulTimeout : cardinal) : cardinal; cdecl;external 'pmwin' index 978;
+    function WinRequestMutexSem(hmtx,ulTimeout : cardinal) : cardinal; cdecl;external 'pmwin' index 979;
+    function WinWaitMuxWaitSem(hmux,ulTimeout : cardinal;var ulUser : cardinal) : cardinal; cdecl;external 'pmwin' index 980;
+    function WinWaitMuxWaitSem(hmux,ulTimeout : cardinal;pulUser : PCardinal) : cardinal; cdecl;external 'pmwin' index 980;
+    function WinPostQueueMsg(hmq,msg : cardinal;mp1,mp2 : pointer) : longbool; cdecl;external 'pmwin' index 902;
+    function WinSetMsgInterest(hwnd,msg_class : cardinal;control : longint) : longbool; cdecl;external 'pmwin' index 861;
+    function WinSetClassMsgInterest(hab : cardinal;pszClassName : pchar;msg_class : cardinal;control : longint) : longbool; cdecl;external 'pmwin' index 853;
+    function WinSetFocus(hwndDesktop,hwndSetFocus : cardinal) : longbool; cdecl;external 'pmwin' index 860;
+    function WinFocusChange(hwndDesktop,hwndSetFocus,flFocusChange : cardinal) : longbool; cdecl;external 'pmwin' index 746;
+    function WinSetCapture(hwndDesktop,hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 852;
+    function WinQueryCapture(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin' index 804;
+    function WinQueryFocus(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin' index 817;
+    function WinGetKeyState(hwndDesktop : cardinal;vkey : longint) : longint; cdecl;external 'pmwin' index 752;
+    function WinGetPhysKeyState(hwndDesktop : cardinal;sc : longint) : longint; cdecl;external 'pmwin' index 758;
+    function WinEnablePhysInput(hwndDesktop : cardinal;fEnable : longbool) : longbool; cdecl;external 'pmwin' index 734;
+    function WinIsPhysInputEnabled(hwndDesktop : cardinal) : longbool; cdecl;external 'pmwin' index 769;
+    function WinSetKeyboardStateTable(hwndDesktop : cardinal;var KeyStateTable;fSet : longbool) : longbool; cdecl;external 'pmwin' index 921;
+    function WinSetKeyboardStateTable(hwndDesktop : cardinal;pKeyStateTable : pointer;fSet : longbool) : longbool; cdecl;external 'pmwin' index 921;
+    function WinGetDlgMsg(hwndDlg : cardinal;var _qmsg : TQMsg) : longbool; cdecl;external 'pmwin' index 914;
+    function WinGetDlgMsg(hwndDlg : cardinal;_pqmsg : PQMsg) : longbool; cdecl;external 'pmwin' index 914;
+    function WinLoadDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;external 'pmwin' index 924;
+    function WinDlgBox(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;hmod,idDlg : cardinal;pCreateParams : pointer) : cardinal; cdecl;external 'pmwin' index 923;
+    function WinDismissDlg(hwndDlg,usResult : cardinal) : longbool; cdecl;external 'pmwin' index 729;
+    function WinQueryDlgItemShort(hwndDlg,idItem : cardinal;var _Result : integer;fSigned : longbool) : longbool; cdecl;external 'pmwin' index 814;
+    function WinQueryDlgItemShort(hwndDlg,idItem : cardinal;pResult : PInteger;fSigned : longbool) : longbool; cdecl;external 'pmwin' index 814;
+    function WinSetDlgItemShort(hwndDlg,idItem : cardinal;usValue : word;fSigned : longbool) : longbool; cdecl;external 'pmwin' index 858;
+    function WinSetDlgItemText(hwndDlg,idItem : cardinal;pszText : pchar) : longbool; cdecl;external 'pmwin' index 859;
+    function WinQueryDlgItemText(hwndDlg,idItem : cardinal;cchBufferMax : longint;pchBuffer : pchar) : cardinal; cdecl;external 'pmwin' index 815;
+    function WinQueryDlgItemTextLength(hwndDlg,idItem : cardinal) : longint; cdecl;external 'pmwin' index 816;
+    function WinDefDlgProc(hwndDlg,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external 'pmwin' index 910;
+    function WinAlarm(hwndDesktop,rgfType : cardinal) : longbool; cdecl;external 'pmwin' index 701;
+    function WinMessageBox(hwndParent,hwndOwner : cardinal;pszText,pszCaption : pchar;idWindow,flStyle : cardinal) : cardinal; cdecl;external 'pmwin' index 789;
+    function WinProcessDlg(hwndDlg : cardinal) : cardinal; cdecl;external 'pmwin' index 796;
+    function WinSendDlgItemMsg(hwndDlg,idItem,msg : cardinal;mp1,mp2 : pointer) : pointer; cdecl;external 'pmwin' index 903;
+    function WinMapDlgPoints(hwndDlg : cardinal;var prgwptl : TPointL;cwpt : cardinal;fCalcWindowCoords : longbool) : longbool; cdecl;external 'pmwin' index 787;
+    function WinMapDlgPoints(hwndDlg : cardinal;prgwptl : PPointL;cwpt : cardinal;fCalcWindowCoords : longbool) : longbool; cdecl;external 'pmwin' index 787;
+    function WinEnumDlgItem(hwndDlg,hwnd,code : cardinal) : cardinal; cdecl;external 'pmwin' index 740;
+    function WinSubstituteStrings(hwnd : cardinal;pszSrc : pchar;cchDstMax : longint;pszDst : pchar) : longint; cdecl;external 'pmwin' index 886;
+    function WinCreateDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;var dlgt : TDlgTemplate;pCreateParams : pointer) : cardinal; cdecl;external 'pmwin' index 922;
+    function WinCreateDlg(hwndParent,hwndOwner : cardinal;pfnDlgProc : proc;pdlgt : PDlgTemplate;pCreateParams : pointer) : cardinal; cdecl;external 'pmwin' index 922;
+    function WinLoadMenu(hwndFrame,hmod,idMenu : cardinal) : cardinal; cdecl;external 'pmwin' index 778;
+    function WinCreateMenu(hwndParent : cardinal;lpmt : pointer) : cardinal; cdecl;external 'pmwin' index 907;
+    function WinPopupMenu(hwndParent,hwndOwner,hwndMenu : cardinal;x,y,idItem : longint;fs : cardinal) : longbool; cdecl;external 'pmwin' index 937;
+    function WinCreateStdWindow(hwndParent,flStyle : cardinal;var flCreateFlags : cardinal;pszClientClass,pszTitle : pchar;styleClient,hmod,idResources : cardinal;var hwndClient : cardinal) : cardinal; cdecl;external 'pmwin' index 908;
+    function WinCreateStdWindow(hwndParent,flStyle : cardinal;pflCreateFlags : PCardinal;pszClientClass,pszTitle : pchar;styleClient,hmod,idResources : cardinal;phwndClient : PCardinal) : cardinal; cdecl;external 'pmwin' index 908;
+    function WinFlashWindow(hwndFrame : cardinal;fFlash : longbool) : longbool; cdecl;external 'pmwin' index 745;
+    function WinCreateFrameControls(hwndFrame : cardinal;var fcdata : TFrameCData;pszTitle : pchar) : longbool; cdecl;external 'pmwin' index 906;
+    function WinCreateFrameControls(hwndFrame : cardinal;pfcdata : PFrameCData;pszTitle : pchar) : longbool; cdecl;external 'pmwin' index 906;
+    function WinCalcFrameRect(hwndFrame : cardinal;var rcl : TRectl;fClient : longbool) : longbool; cdecl;external 'pmwin' index 704;
+    function WinCalcFrameRect(hwndFrame : cardinal;prcl : PRectl;fClient : longbool) : longbool; cdecl;external 'pmwin' index 704;
+    function WinGetMinPosition(hwnd : cardinal;var _swp : TSWP;var pptl : POINTL) : longbool; cdecl;external 'pmwin' index 755;
+    function WinGetMinPosition(hwnd : cardinal;_pswp : PSWP;var pptl : POINTL) : longbool; cdecl;external 'pmwin' index 755;
+    function WinGetMaxPosition(hwnd : cardinal;var _swp : TSWP) : longbool; cdecl;external 'pmwin' index 754;
+    function WinGetMaxPosition(hwnd : cardinal;_pswp : PSWP) : longbool; cdecl;external 'pmwin' index 754;
+    function WinSaveWindowPos(hsvwp : cardinal;var _swp : TSWP;cswp : cardinal) : longbool; cdecl;external 'pmwin' index 943;
+    function WinSaveWindowPos(hsvwp : cardinal;_pswp : PSWP;cswp : cardinal) : longbool; cdecl;external 'pmwin' index 943;
+    function WinCopyRect(hab : cardinal;var rclDst,rclSrc : TRectl) : longbool; cdecl;external 'pmwin' index 710;
+    function WinCopyRect(hab : cardinal;prclDst,prclSrc : PRectl) : longbool; cdecl;external 'pmwin' index 710;
+    function WinSetRect(hab : cardinal;var rcl : TRectl;xLeft,yBottom,xRight,yTop : longint) : longbool; cdecl;external 'pmwin' index 868;
+    function WinSetRect(hab : cardinal;prcl : PRectl;xLeft,yBottom,xRight,yTop : longint) : longbool; cdecl;external 'pmwin' index 868;
+    function WinIsRectEmpty(hab : cardinal;var rcl : TRectl) : longbool; cdecl;external 'pmwin' index 770;
+    function WinIsRectEmpty(hab : cardinal;prcl : PRectl) : longbool; cdecl;external 'pmwin' index 770;
+    function WinEqualRect(hab : cardinal;var rcl1,rcl2 : TRectl) : longbool; cdecl;external 'pmwin' index 741;
+    function WinEqualRect(hab : cardinal;prcl1,prcl2 : PRectl) : longbool; cdecl;external 'pmwin' index 741;
+    function WinSetRectEmpty(hab : cardinal;var rcl : TRectl) : longbool; cdecl;external 'pmwin' index 869;
+    function WinSetRectEmpty(hab : cardinal;prcl : PRectl) : longbool; cdecl;external 'pmwin' index 869;
+    function WinOffsetRect(hab : cardinal;var rcl : TRectl;cx,cy : longint) : longbool; cdecl;external 'pmwin' index 792;
+    function WinOffsetRect(hab : cardinal;prcl : PRectl;cx,cy : longint) : longbool; cdecl;external 'pmwin' index 792;
+    function WinInflateRect(hab : cardinal;var rcl : TRectl;cx,cy : longint) : longbool; cdecl;external 'pmwin' index 762;
+    function WinInflateRect(hab : cardinal;prcl : PRectl;cx,cy : longint) : longbool; cdecl;external 'pmwin' index 762;
+    function WinPtInRect(hab : cardinal;var rcl : TRectl;var ptl : TPointL) : longbool; cdecl;external 'pmwin' index 797;
+    function WinPtInRect(hab : cardinal;prcl : PRectl;pptl : PPointL) : longbool; cdecl;external 'pmwin' index 797;
+    function WinIntersectRect(hab : cardinal;var rclDst,rclSrc1,rclSrc2 : TRectl) : longbool; cdecl;external 'pmwin' index 764;
+    function WinIntersectRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRectl) : longbool; cdecl;external 'pmwin' index 764;
+    function WinUnionRect(hab : cardinal;var rclDst,rclSrc1,rclSrc2 : TRectl) : longbool; cdecl;external 'pmwin' index 891;
+    function WinUnionRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRectl) : longbool; cdecl;external 'pmwin' index 891;
+    function WinSubtractRect(hab : cardinal;var rclDst,rclSrc1,rclSrc2 : TRectl) : longbool; cdecl;external 'pmwin' index 887;
+    function WinSubtractRect(hab : cardinal;prclDst,prclSrc1,prclSrc2 : PRectl) : longbool; cdecl;external 'pmwin' index 887;
+    function WinMakeRect(hab : cardinal;var pwrc : TRectl) : longbool; cdecl;external 'pmwin' index 786;
+    function WinMakeRect(hab : cardinal;pwrc : PRectl) : longbool; cdecl;external 'pmwin' index 786;
+    function WinMakePoints(hab : cardinal;var wpt : TPointL;cwpt : cardinal) : longbool; cdecl;external 'pmwin' index 785;
+    function WinMakePoints(hab : cardinal;pwpt : PPointL;cwpt : cardinal) : longbool; cdecl;external 'pmwin' index 785;
+    function WinQuerySysValue(hwndDesktop : cardinal;iSysValue : longint) : longint; cdecl;external 'pmwin' index 829;
+    function WinSetSysValue(hwndDesktop : cardinal;iSysValue,lValue : longint) : longbool; cdecl;external 'pmwin' index 873;
+    function WinSetPresParam(hwnd,id,cbParam : cardinal;pbParam : pointer) : longbool; cdecl;external 'pmwin' index 938;
+    function WinQueryPresParam(hwnd,id1,id2 : cardinal;var ulId : cardinal;cbBuf : cardinal;pbBuf : pointer;fs : cardinal) : cardinal; cdecl;external 'pmwin' index 939;
+    function WinQueryPresParam(hwnd,id1,id2 : cardinal;pulId : PCardinal;cbBuf : cardinal;pbBuf : pointer;fs : cardinal) : cardinal; cdecl;external 'pmwin' index 939;
+    function WinRemovePresParam(hwnd,id : cardinal) : longbool; cdecl;external 'pmwin' index 940;
+    function WinQuerySysColor(hwndDesktop : cardinal;clr,lReserved : longint) : longint; cdecl;external 'pmwin' index 826;
+    function WinSetSysColors(hwndDesktop,flOptions,flFormat : cardinal;clrFirst : longint;cclr : cardinal;var clr : longint) : longbool; cdecl;external 'pmwin' index 871;
+    function WinSetSysColors(hwndDesktop,flOptions,flFormat : cardinal;clrFirst : longint;cclr : cardinal;pclr : PLongint) : longbool; cdecl;external 'pmwin' index 871;
+    function WinStartTimer(hab,hwnd,idTimer,dtTimeout : cardinal) : cardinal; cdecl;external 'pmwin' index 884;
+    function WinStopTimer(hab,hwnd,idTimer : cardinal) : longbool; cdecl;external 'pmwin' index 885;
+    function WinGetCurrentTime(hab : cardinal) : cardinal; cdecl;external 'pmwin' index 750;
+    function WinLoadAccelTable(hab,hmod,idAccelTable : cardinal) : cardinal; cdecl;external 'pmwin' index 776;
+    function WinCopyAccelTable(haccel : cardinal;var _AccelTable : TAccelTable;cbCopyMax : cardinal) : cardinal; cdecl;external 'pmwin' index 709;
+    function WinCopyAccelTable(haccel : cardinal;_pAccelTable : PAccelTable;cbCopyMax : cardinal) : cardinal; cdecl;external 'pmwin' index 709;
+    function WinCreateAccelTable(hab : cardinal;var _AccelTable : TAccelTable) : cardinal; cdecl;external 'pmwin' index 713;
+    function WinCreateAccelTable(hab : cardinal;_pAccelTable : PAccelTable) : cardinal; cdecl;external 'pmwin' index 713;
+    function WinDestroyAccelTable(haccel : cardinal) : longbool; cdecl;external 'pmwin' index 723;
+    function WinTranslateAccel(hab,hwnd,haccel : cardinal;var _qmsg : TQMsg) : longbool; cdecl;external 'pmwin' index 904;
+    function WinTranslateAccel(hab,hwnd,haccel : cardinal;_pqmsg : PQMsg) : longbool; cdecl;external 'pmwin' index 904;
+    function WinSetAccelTable(hab,haccel,hwndFrame : cardinal) : longbool; cdecl;external 'pmwin' index 850;
+    function WinQueryAccelTable(hab,hwndFrame : cardinal) : cardinal; cdecl;external 'pmwin' index 798;
+    function WinTrackRect(hwnd,hps : cardinal;var ti : TTrackInfo) : longbool; cdecl;external 'pmwin' index 890;
+    function WinTrackRect(hwnd,hps : cardinal;pti : PTrackInfo) : longbool; cdecl;external 'pmwin' index 890;
+    function WinShowTrackRect(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external 'pmwin' index 882;
+    function WinSetClipbrdOwner(hab,hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 855;
+    function WinSetClipbrdData(hab,ulData,fmt,rgfFmtInfo : cardinal) : longbool; cdecl;external 'pmwin' index 854;
+    function WinQueryClipbrdData(hab,fmt : cardinal) : cardinal; cdecl;external 'pmwin' index 806;
+    function WinQueryClipbrdFmtInfo(hab,fmt : cardinal;var prgfFmtInfo : cardinal) : longbool; cdecl;external 'pmwin' index 807;
+    function WinQueryClipbrdFmtInfo(hab,fmt : cardinal;prgfFmtInfo : PCardinal) : longbool; cdecl;external 'pmwin' index 807;
+    function WinSetClipbrdViewer(hab,hwndNewClipViewer : cardinal) : longbool; cdecl;external 'pmwin' index 856;
+    function WinEnumClipbrdFmts(hab,fmt : cardinal) : cardinal; cdecl;external 'pmwin' index 739;
+    function WinEmptyClipbrd(hab : cardinal) : longbool; cdecl;external 'pmwin' index 733;
+    function WinOpenClipbrd(hab : cardinal) : longbool; cdecl;external 'pmwin' index 793;
+    function WinCloseClipbrd(hab : cardinal) : longbool; cdecl;external 'pmwin' index 707;
+    function WinQueryClipbrdOwner(hab : cardinal) : cardinal; cdecl;external 'pmwin' index 808;
+    function WinQueryClipbrdViewer(hab : cardinal) : cardinal; cdecl;external 'pmwin' index 809;
+    function WinDestroyCursor(hwnd : cardinal) : longbool; cdecl;external 'pmwin' index 725;
+    function WinShowCursor(hwnd : cardinal;fShow : longbool) : longbool; cdecl;external 'pmwin' index 880;
+    function WinCreateCursor(hwnd : cardinal;x,y,cx,cy : longint;fs : cardinal;var rclClip : TRectl) : longbool; cdecl;external 'pmwin' index 715;
+    function WinCreateCursor(hwnd : cardinal;x,y,cx,cy : longint;fs : cardinal;prclClip : PRectl) : longbool; cdecl;external 'pmwin' index 715;
+    function WinQueryCursorInfo(hwndDesktop : cardinal;var _CursorInfo : TCursorInfo) : longbool; cdecl;external 'pmwin' index 812;
+    function WinQueryCursorInfo(hwndDesktop : cardinal;_pCursorInfo : PCursorInfo) : longbool; cdecl;external 'pmwin' index 812;
+    function WinSetPointer(hwndDesktop,hptrNew : cardinal) : longbool; cdecl;external 'pmwin' index 866;
+    function WinSetPointerOwner(hptr,pid : cardinal;fDestroy : longbool) : longbool; cdecl;external 'pmwin' index 971;
+    function WinShowPointer(hwndDesktop : cardinal;fShow : longbool) : longbool; cdecl;external 'pmwin' index 881;
+    function WinQuerySysPointer(hwndDesktop : cardinal;iptr : longint;fLoad : longbool) : cardinal; cdecl;external 'pmwin' index 828;
+    function WinLoadPointer(hwndDesktop,hmod,idres : cardinal) : cardinal; cdecl;external 'pmwin' index 780;
+    function WinCreatePointer(hwndDesktop,hbmPointer : cardinal;fPointer : longbool;xHotspot,yHotspot : longint) : cardinal; cdecl;external 'pmwin' index 717;
+    function WinSetPointerPos(hwndDesktop : cardinal;x,y : longint) : longbool; cdecl;external 'pmwin' index 867;
+    function WinDestroyPointer(hptr : cardinal) : longbool; cdecl;external 'pmwin' index 727;
+    function WinQueryPointer(hwndDesktop : cardinal) : cardinal; cdecl;external 'pmwin' index 821;
+    function WinQueryPointerPos(hwndDesktop : cardinal;var ptl : TPointL) : longbool; cdecl;external 'pmwin' index 823;
+    function WinQueryPointerPos(hwndDesktop : cardinal;pptl : PPointL) : longbool; cdecl;external 'pmwin' index 823;
+    function WinCreatePointerIndirect(hwndDesktop : cardinal;var ptri : TPointerInfo) : cardinal; cdecl;external 'pmwin' index 942;
+    function WinCreatePointerIndirect(hwndDesktop : cardinal;pptri : PPointerInfo) : cardinal; cdecl;external 'pmwin' index 942;
+    function WinQueryPointerInfo(hptr : cardinal;var _PointerInfo : TPointerInfo) : longbool; cdecl;external 'pmwin' index 822;
+    function WinQueryPointerInfo(hptr : cardinal;_pPointerInfo : PPointerInfo) : longbool; cdecl;external 'pmwin' index 822;
+    function WinDrawPointer(hps : cardinal;x,y : longint;hptr,fs : cardinal) : longbool; cdecl;external 'pmwin' index 732;
+    function WinGetSysBitmap(hwndDesktop,ibm : cardinal) : cardinal; cdecl;external 'pmwin' index 760;
+    function WinSetHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;external 'pmwin' index 928;
+    function WinReleaseHook(hab,hmq : cardinal;iHook : longint;pfnHook : pointer;hmod : cardinal) : longbool; cdecl;external 'pmwin' index 927;
+    function WinCallMsgFilter(hab : cardinal;var _qmsg : TQMsg;msgf : cardinal) : longbool; cdecl;external 'pmwin' index 905;
+    function WinCallMsgFilter(hab : cardinal;_pqmsg : PQMsg;msgf : cardinal) : longbool; cdecl;external 'pmwin' index 905;
+    function WinSetClassThunkProc(pszClassname : pchar;pfnThunkProc : pointer) : longbool; cdecl;external 'pmwin' index 959;
+    function WinQueryClassThunkProc(pszClassname : pchar) : pointer; cdecl;external 'pmwin' index 960;
+    function WinSetWindowThunkProc(hwnd : cardinal;pfnThunkProc : pointer) : longbool; cdecl;external 'pmwin' index 961;
+    function WinQueryWindowThunkProc(hwnd : cardinal) : pointer; cdecl;external 'pmwin' index 962;
+    function WinQueryWindowModel(hwnd : cardinal) : longint; cdecl;external 'pmwin' index 934;
+    function WinQueryCp(hmq : cardinal) : cardinal; cdecl;external 'pmwin' index 810;
+    function WinSetCp(hmq,idCodePage : cardinal) : longbool; cdecl;external 'pmwin' index 857;
+    function WinQueryCpList(hab,ccpMax : cardinal;var prgcp : cardinal) : cardinal; cdecl;external 'pmwin' index 811;
+    function WinQueryCpList(hab,ccpMax : cardinal;prgcp : PCardinal) : cardinal; cdecl;external 'pmwin' index 811;
+    function WinCpTranslateString(hab,cpSrc : cardinal;pszSrc : pchar;cpDst,cchDestMax : cardinal;pchDest : pchar) : longbool; cdecl;external 'pmwin' index 712;
+    function WinCpTranslateChar(hab,cpSrc : cardinal;chSrc : byte;cpDst : cardinal) : byte; cdecl;external 'pmwin' index 711;
+    function WinUpper(hab,idcp,idcc : cardinal;psz : pchar) : cardinal; cdecl;external 'pmwin' index 893;
+    function WinUpperChar(hab,idcp,idcc,c : cardinal) : cardinal; cdecl;external 'pmwin' index 894;
+    function WinNextChar(hab,idcp,idcc : cardinal;psz : pchar) : pchar; cdecl;external 'pmwin' index 791;
+    function WinPrevChar(hab,idcp,idcc : cardinal;pszStart,psz : pchar) : pchar; cdecl;external 'pmwin' index 795;
+    function WinCompareStrings(hab,idcp,idcc : cardinal;psz1,psz2 : pchar;reserved : cardinal) : cardinal; cdecl;external 'pmwin' index 708;
+    function WinCreateAtomTable(cbInitial,cBuckets : cardinal) : cardinal; cdecl;external 'pmwin' index 714;
+    function WinDestroyAtomTable(hAtomTbl : cardinal) : cardinal; cdecl;external 'pmwin' index 724;
+    function WinAddAtom(hAtomTbl : cardinal;pszAtomName : pchar) : cardinal; cdecl;external 'pmwin' index 700;
+    function WinFindAtom(hAtomTbl : cardinal;pszAtomName : pchar) : cardinal; cdecl;external 'pmwin' index 744;
+    function WinDeleteAtom(hAtomTbl,atom : cardinal) : cardinal; cdecl;external 'pmwin' index 721;
+    function WinQueryAtomUsage(hAtomTbl,atom : cardinal) : cardinal; cdecl;external 'pmwin' index 803;
+    function WinQueryAtomLength(hAtomTbl,atom : cardinal) : cardinal; cdecl;external 'pmwin' index 801;
+    function WinQueryAtomName(hAtomTbl,atom : cardinal;pchBuffer : pchar;cchBufferMax : cardinal) : cardinal; cdecl;external 'pmwin' index 802;
+    function WinGetLastError(hab : cardinal) : cardinal; cdecl;external 'pmwin' index 753;
+    function WinGetErrorInfo(hab : cardinal) : PERRINFO; cdecl;external 'pmwin' index 751;
+    function WinFreeErrorInfo(var perrinfo : ERRINFO) : longbool; cdecl;external 'pmwin' index 748;
+    function WinDdeInitiate(hwndClient : cardinal;pszAppName,pszTopicName : pchar;var cctxt : TConvContext) : longbool; cdecl;external 'pmwin' index 718;
+    function WinDdeInitiate(hwndClient : cardinal;pszAppName,pszTopicName : pchar;cctxt : PConvContext) : longbool; cdecl;external 'pmwin' index 718;
+    function WinDdeRespond(hwndClient,hwndServer : cardinal;pszAppName,pszTopicName : pchar;var cctxt : TConvContext) : pointer; cdecl;external 'pmwin' index 720;
+    function WinDdeRespond(hwndClient,hwndServer : cardinal;pszAppName,pszTopicName : pchar;pcctxt : PConvContext) : pointer; cdecl;external 'pmwin' index 720;
+    function WinDdePostMsg(hwndTo,hwndFrom,wm : cardinal;var ddest : DDEStruct;flOptions : cardinal) : longbool; cdecl;external 'pmwin' index 719;
+    function WinDdePostMsg(hwndTo,hwndFrom,wm : cardinal;pddest : PDDEStruct;flOptions : cardinal) : longbool; cdecl;external 'pmwin' index 719;
+    function WinDeleteProcedure(hab : cardinal;wndproc : proc) : longbool; cdecl;external 'pmwin' index 987;
+    function WinDeleteLibrary(hab,libhandle : cardinal) : longbool; cdecl;external 'pmwin' index 722;
+    function WinLoadProcedure(hab,libhandle : cardinal;procname : pchar) : proc; cdecl;external 'pmwin' index 986;
+    function WinLoadLibrary(hab : cardinal;libname : pchar) : cardinal; cdecl;external 'pmwin' index 777;
+    function WinSetDesktopBkgnd(hwndDesktop : cardinal;var dskNew : TDesktop) : cardinal; cdecl;external 'pmwin' index 935;
+    function WinSetDesktopBkgnd(hwndDesktop : cardinal;pdskNew : PDesktop) : cardinal; cdecl;external 'pmwin' index 935;
+    function WinQueryDesktopBkgnd(hwndDesktop : cardinal;var dsk : TDesktop) : longbool; cdecl;external 'pmwin' index 936;
+    function WinQueryDesktopBkgnd(hwndDesktop : cardinal;pdsk : PDesktop) : longbool; cdecl;external 'pmwin' index 936;
+    function WinRealizePalette(hwnd,hps : cardinal;var cclr : cardinal) : longint; cdecl;external 'pmwin' index 941;
+    function WinRealizePalette(hwnd,hps : cardinal;pcclr : PCardinal) : longint; cdecl;external 'pmwin' index 941;
     function cardinalFROMMP(mp : pointer) : cardinal;cdecl;
       begin
-	 cardinalFROMMP:=cardinal(mp);
-      end;                                         
+       cardinalFROMMP:=cardinal(mp);
+      end;
     function integer1FROMMP(mp : pointer) : word;cdecl;
       begin
-	 {integer1FROMMP:=lo(cardinal(mp));             RBP}
-      end;                                             
-    function integer2FROMMP(mp : pointer) : word;cdecl; 
+       {integer1FROMMP:=lo(cardinal(mp));             RBP}
+      end;
+    function integer2FROMMP(mp : pointer) : word;cdecl;
       begin
-	 {integer2FROMMP:=hi(cardinal(mp))              RBP}
-      end;                                             
+       {integer2FROMMP:=hi(cardinal(mp))              RBP}
+      end;
 end.
 {
   $Log$
-  Revision 1.6  1999-08-04 15:51:05  hajny
+  Revision 1.7  1999-08-10 14:20:52  hajny
+    * compatibility updates
+
+  Revision 1.6  1999/08/04 15:51:05  hajny
     * merging changes by RB and DM :-(
 
   Revision 1.5  1999/06/02 16:01:29  hajny