Browse Source

*wince : revert backp to fpc memory manager (pb with wince mm)
+datetime picker wince api
*started cleanup api files (only commctl.inc)

git-svn-id: trunk@4493 -

oro06 19 years ago
parent
commit
665ea0658f
4 changed files with 181 additions and 28 deletions
  1. 5 2
      rtl/wince/system.pp
  2. 171 14
      rtl/wince/wininc/commctrl.inc
  3. 1 6
      rtl/wince/wininc/func.inc
  4. 4 6
      rtl/wince/wininc/unidef.inc

+ 5 - 2
rtl/wince/system.pp

@@ -24,7 +24,7 @@ interface
 {$define WINCE_EXCEPTION_HANDLING}
 {$define WINCE_EXCEPTION_HANDLING}
 {$define DISABLE_NO_THREAD_MANAGER}
 {$define DISABLE_NO_THREAD_MANAGER}
 {$define HAS_CMDLINE}
 {$define HAS_CMDLINE}
-{$define HAS_MT_MEMORYMANAGER}
+//{$define HAS_MT_MEMORYMANAGER}
 
 
 { include system-independent routine headers }
 { include system-independent routine headers }
 {$I systemh.inc}
 {$I systemh.inc}
@@ -1580,6 +1580,7 @@ procedure InitWinCEWidestrings;
     widestringmanager.LowerWideStringProc:=@WinCEWideLower;
     widestringmanager.LowerWideStringProc:=@WinCEWideLower;
   end;
   end;
 
 
+(*
 {****************************************************************************
 {****************************************************************************
                     Memory manager
                     Memory manager
 ****************************************************************************}
 ****************************************************************************}
@@ -1651,7 +1652,7 @@ function SysGetFPCHeapStatus:TFPCHeapStatus;
 begin
 begin
   fillchar(Result,sizeof(Result),0);
   fillchar(Result,sizeof(Result),0);
 end;
 end;
-
+*)
 {****************************************************************************
 {****************************************************************************
                     Error Message writing using messageboxes
                     Error Message writing using messageboxes
 ****************************************************************************}
 ****************************************************************************}
@@ -1786,6 +1787,8 @@ begin
   if not IsLibrary then
   if not IsLibrary then
     SysInstance:=GetModuleHandle(nil);
     SysInstance:=GetModuleHandle(nil);
   MainInstance:=SysInstance;
   MainInstance:=SysInstance;
+  { Setup Heap }
+  InitHeap;
   SysInitExceptions;
   SysInitExceptions;
   if not IsLibrary then
   if not IsLibrary then
     begin
     begin

+ 171 - 14
rtl/wince/wininc/commctrl.inc

@@ -19,8 +19,10 @@
   Changes :
   Changes :
 
 
   09-28-2005 : [email protected],  WCE 4.21 SE, First release
   09-28-2005 : [email protected],  WCE 4.21 SE, First release
-  09-02-2006 : updated
-  
+  23-08-2006 : +datetime picker,
+               *simplier rule for api files : 1 dll = 1 .inc file,
+                started to move entries from func, unidef and updating
+                exported list
 }
 }
 
 
 {exported functions list = to do,
 {exported functions list = to do,
@@ -54,10 +56,7 @@
              4    CommandBar_Show
              4    CommandBar_Show
             63    CreateMRUListA
             63    CreateMRUListA
             64    CreateMRUListW
             64    CreateMRUListW
-            17    CreateStatusWindowW
             15    CreateToolbar
             15    CreateToolbar
-            16    CreateToolbarEx
-            14    CreateUpDownControl
             50    DPA_Create
             50    DPA_Create
             61    DPA_DeleteAllPtrs
             61    DPA_DeleteAllPtrs
             60    DPA_DeletePtr
             60    DPA_DeletePtr
@@ -85,9 +84,7 @@
             58    DSA_SetRange
             58    DSA_SetRange
             57    DSA_Sort
             57    DSA_Sort
             68    DelMRUString
             68    DelMRUString
-            20    DestroyPropertySheetPage
             49    DoReaderMode
             49    DoReaderMode
-            21    DrawStatusTextW
             71    EnumMRUListA
             71    EnumMRUListA
             72    EnumMRUListW
             72    EnumMRUListW
             74    FindMRUData
             74    FindMRUData
@@ -119,24 +116,184 @@
 const
 const
   COMCTL32_VERSION=$020c;
   COMCTL32_VERSION=$020c;
 
 
+  // DATETIMEPICK CONTROL
+  DATETIMEPICK_CLASS  ='SysDateTimePick32';
+  DTM_FIRST           = $1000;
+  DTM_GETSYSTEMTIME   = DTM_FIRST + 1;
+  DTM_SETSYSTEMTIME   = DTM_FIRST + 2;
+  DTM_GETRANGE        = DTM_FIRST + 3;
+  DTM_SETRANGE        = DTM_FIRST + 4;
+  DTM_SETFORMATA      = DTM_FIRST + 5;
+  DTM_SETMCCOLOR      = DTM_FIRST + 6;
+  DTM_GETMCCOLOR      = DTM_FIRST + 7;
+  DTM_GETMONTHCAL     = DTM_FIRST + 8;
+  DTM_SETMCFONT       = DTM_FIRST + 9;
+  DTM_GETMCFONT       = DTM_FIRST + 10;
+  DTM_SETFORMATW      = DTM_FIRST + 50;
+
+
+  DTS_UPDOWN                 = $0001;
+  DTS_SHOWNONE               = $0002;
+  DTS_SHORTDATEFORMAT        = $0000;
+  DTS_LONGDATEFORMAT         = $0004;
+  DTS_SHORTDATECENTURYFORMAT = $000C;
+  DTS_TIMEFORMAT             = $0009;
+  DTS_APPCANPARSE            = $0010;
+  DTS_RIGHTALIGN             = $0020;
+  DTS_NONEBUTTON             = $0080;
+
+  DTN_FIRST                  =-760;
+  DTN_DATETIMECHANGE  = DTN_FIRST + 1;
+  DTN_USERSTRINGA     = DTN_FIRST + 2;
+  DTN_WMKEYDOWNA      = DTN_FIRST + 3;
+  DTN_FORMATA         = DTN_FIRST + 4;
+  DTN_FORMATQUERYA    = DTN_FIRST + 5;
+  DTN_DROPDOWN        = DTN_FIRST + 6;
+  DTN_CLOSEUP         = DTN_FIRST + 7;
+  DTN_USERSTRINGW     = DTN_FIRST + 15;
+  DTN_WMKEYDOWNW      = DTN_FIRST + 16;
+  DTN_FORMATW         = DTN_FIRST + 17;
+  DTN_FORMATQUERYW    = DTN_FIRST + 18;
+
+  GDTR_MIN            = $0001;
+  GDTR_MAX            = $0002;
+
+  GDT_ERROR           = -1;
+  GDT_VALID           = 0;
+  GDT_NONE            = 1;
+
+  // Pocket PC  special controls
+  WC_CAPEDIT    = 'CAPEDIT';
+  WC_TSTATIC    = 'TTSTATIC';
+  WC_TBUTTON    = 'TTBUTTON';
+
+  // for FE, single byte character edit
+  WC_SBEDIT     = 'sbedit';
+
+
 //*****************************************************************************
 //*****************************************************************************
 // types
 // types
 //*****************************************************************************
 //*****************************************************************************
 
 
+type
+  // DATETIMEPICK CONTROL
+
+
+
+  tagNMDATETIMECHANGE = record
+    nmhdr   : NMHDR;
+    dwFlags : DWORD;
+    st      : SYSTEMTIME;
+  end;
+  NMDATETIMECHANGE=tagNMDATETIMECHANGE;
+  TNMDATETIMECHANGE=tagNMDATETIMECHANGE;
+  LPNMDATETIMECHANGE=^tagNMDATETIMECHANGE;
+
+  tagNMDATETIMESTRINGA = record
+    nmhdr         : NMHDR;
+    pszUserString : LPCSTR;
+    st            : SYSTEMTIME;
+    dwFlags       : DWORD;
+  end;
+  NMDATETIMESTRINGA=tagNMDATETIMESTRINGA;
+  TNMDATETIMESTRINGA=tagNMDATETIMESTRINGA;
+  LPNMDATETIMESTRINGA=^tagNMDATETIMESTRINGA;
+
+  tagNMDATETIMESTRINGW = record
+    nmhdr         : NMHDR;
+    pszUserString : LPCWSTR;
+    st            : SYSTEMTIME;
+    dwFlags       : DWORD;
+  end;
+  NMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
+  TNMDATETIMESTRINGW=tagNMDATETIMESTRINGW;
+  LPNMDATETIMESTRINGW=^tagNMDATETIMESTRINGW;
+
+
+  tagNMDATETIMEWMKEYDOWNA = record
+    nmhdr     : NMHDR;
+    nVirtKey  : integer;
+    pszFormat : LPCSTR;
+    st        : SYSTEMTIME;
+  end;
+  NMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA;
+  TNMDATETIMEWMKEYDOWNA=tagNMDATETIMEWMKEYDOWNA;
+  LPNMDATETIMEWMKEYDOWNA=^tagNMDATETIMEWMKEYDOWNA;
+
+  tagNMDATETIMEWMKEYDOWNW = record
+    nmhdr     : NMHDR;
+    nVirtKey  : integer;
+    pszFormat : LPCWSTR;
+    st        : SYSTEMTIME;
+  end;
+  NMDATETIMEWMKEYDOWNW=tagNMDATETIMEWMKEYDOWNW;
+  TNMDATETIMEWMKEYDOWNW=tagNMDATETIMEWMKEYDOWNW;
+  LPNMDATETIMEWMKEYDOWNW=^tagNMDATETIMEWMKEYDOWNW;
+
+
+  tagNMDATETIMEFORMATA = record
+    nmhdr      : NMHDR;
+    pszFormat  : LPCSTR;
+    st         : SYSTEMTIME;
+    pszDisplay : LPCSTR;
+    szDisplay  : Array[0..63] of CHAR;
+  end;
+  NMDATETIMEFORMATA=tagNMDATETIMEFORMATA;
+  TNMDATETIMEFORMATA=tagNMDATETIMEFORMATA;
+  LPNMDATETIMEFORMATA=^NMDATETIMEFORMATA;
+
+  tagNMDATETIMEFORMATW = record
+    nmhdr      : NMHDR;
+    pszFormat  : LPCWSTR;
+    st         : SYSTEMTIME;
+    pszDisplay : LPCWSTR;
+    szDisplay  : Array[0..63] of WCHAR;
+  end;
+  NMDATETIMEFORMATW=tagNMDATETIMEFORMATW;
+  TNMDATETIMEFORMATW=tagNMDATETIMEFORMATW;
+  LPNMDATETIMEFORMATW=^NMDATETIMEFORMATW;
+
+
+  tagNMDATETIMEFORMATQUERYA = record
+    nmhdr      : NMHDR;
+    pszFormat  : LPCSTR;
+    szMax      : SIZE;
+  end;
+  NMDATETIMEFORMATQUERYA=tagNMDATETIMEFORMATQUERYA;
+  TNMDATETIMEFORMATQUERYA=tagNMDATETIMEFORMATQUERYA;
+  LPNMDATETIMEFORMATQUERYA=^tagNMDATETIMEFORMATQUERYA;
+
+  tagNMDATETIMEFORMATQUERYW = record
+    nmhdr      : NMHDR;
+    pszFormat  : LPCWSTR;
+    szMax      : SIZE;
+  end;
+  NMDATETIMEFORMATQUERYW=tagNMDATETIMEFORMATQUERYW;
+  TNMDATETIMEFORMATQUERYW=tagNMDATETIMEFORMATQUERYW;
+  LPNMDATETIMEFORMATQUERYW=^tagNMDATETIMEFORMATQUERYW;
+
+
 //*****************************************************************************
 //*****************************************************************************
 // functions
 // functions
 //*****************************************************************************
 //*****************************************************************************
 
 
+function CreatePropertySheetPage(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW';
+function CreatePropertySheetPageW(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW';
+function CreateStatusWindow(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW';
+function CreateStatusWindowW(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW';
+function CreateToolbarEx(hwnd:HWND; ws:DWORD; wID:UINT; nBitmaps:longint; hBMInst:HINST;wBMID:UINT; lpButtons:LPCTBBUTTON; iNumButtons:longint; dxButton:longint; dyButton:longint;dxBitmap:longint;
+  dyBitmap:longint; uStructSize:UINT):HWND; external ComctlDLL name 'CreateToolbarEx';
+function CreateUpDownControl(dwStyle:DWORD; x:longint; y:longint; cx:longint; cy:longint;hParent:HWND; nID:longint; hInst:HINST; hBuddy:HWND; nUpper:longint;nLower:longint; nPos:longint):HWND; external ComctlDLL name 'CreateUpDownControl';
+function DestroyPropertySheetPage(hPSPage:HPROPSHEETPAGE):WINBOOL; external ComctlDLL name 'DestroyPropertySheetPage';
+procedure DrawStatusText(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW';
+procedure DrawStatusTextW(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW';
+procedure InitCommonControls; external ComctlDLL name 'InitCommonControls';
+function InitCommonControlsEx(_para1:LPINITCOMMONCONTROLSEX):WINBOOL; external ComctlDLL name 'InitCommonControlsEx';
+function PropertySheet(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW';
+function PropertySheetW(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW';
 
 
 {$endif read_interface}
 {$endif read_interface}
 
 
-{ already defined in func.inc
-CreatePropertySheetPageW
-InitCommonControls
-InitCommonControlsEx
-PropertySheetW
-}
-
 {$ifdef read_implementation}
 {$ifdef read_implementation}
 
 
 {$endif read_implementation}
 {$endif read_implementation}

+ 1 - 6
rtl/wince/wininc/func.inc

@@ -124,9 +124,6 @@ function CreatePenIndirect(var _para1:LOGPEN):HPEN; external GdiDLL name 'Create
 function CreateRectRgn(_para1:longint; _para2:longint; _para3:longint; _para4:longint):HRGN; external GdiDLL name 'CreateRectRgn';
 function CreateRectRgn(_para1:longint; _para2:longint; _para3:longint; _para4:longint):HRGN; external GdiDLL name 'CreateRectRgn';
 function CreateRectRgnIndirect(var _para1:RECT):HRGN; external GdiDLL name 'CreateRectRgnIndirect';
 function CreateRectRgnIndirect(var _para1:RECT):HRGN; external GdiDLL name 'CreateRectRgnIndirect';
 function CreateSolidBrush(_para1:COLORREF):HBRUSH; external GdiDLL name 'CreateSolidBrush';
 function CreateSolidBrush(_para1:COLORREF):HBRUSH; external GdiDLL name 'CreateSolidBrush';
-function CreateToolbarEx(hwnd:HWND; ws:DWORD; wID:UINT; nBitmaps:longint; hBMInst:HINST;wBMID:UINT; lpButtons:LPCTBBUTTON; iNumButtons:longint; dxButton:longint; dyButton:longint;dxBitmap:longint;
-  dyBitmap:longint; uStructSize:UINT):HWND; external ComctlDLL name 'CreateToolbarEx';
-function CreateUpDownControl(dwStyle:DWORD; x:longint; y:longint; cx:longint; cy:longint;hParent:HWND; nID:longint; hInst:HINST; hBuddy:HWND; nUpper:longint;nLower:longint; nPos:longint):HWND; external ComctlDLL name 'CreateUpDownControl';
 function DebugActiveProcess(dwProcessId:DWORD):WINBOOL; external KernelDLL name 'DebugActiveProcess';
 function DebugActiveProcess(dwProcessId:DWORD):WINBOOL; external KernelDLL name 'DebugActiveProcess';
 function DeferWindowPos(hWinPosInfo:HDWP; hWnd:HWND; hWndInsertAfter:HWND; x:longint; y:longint;cx:longint; cy:longint; uFlags:UINT):HDWP; external UserDLLCore name 'DeferWindowPos';
 function DeferWindowPos(hWinPosInfo:HDWP; hWnd:HWND; hWndInsertAfter:HWND; x:longint; y:longint;cx:longint; cy:longint; uFlags:UINT):HDWP; external UserDLLCore name 'DeferWindowPos';
 procedure DeleteCriticalSection(lpCriticalSection:LPCRITICAL_SECTION); external KernelDLL name 'DeleteCriticalSection';
 procedure DeleteCriticalSection(lpCriticalSection:LPCRITICAL_SECTION); external KernelDLL name 'DeleteCriticalSection';
@@ -138,7 +135,6 @@ function DestroyAcceleratorTable(hAccel:HACCEL):WINBOOL; external UserDLLCore na
 function DestroyCaret:WINBOOL; external UserDLLCore name 'DestroyCaret';
 function DestroyCaret:WINBOOL; external UserDLLCore name 'DestroyCaret';
 function DestroyIcon(hIcon:HICON):WINBOOL; external UserDLLCore name 'DestroyIcon';
 function DestroyIcon(hIcon:HICON):WINBOOL; external UserDLLCore name 'DestroyIcon';
 function DestroyMenu(hMenu:HMENU):WINBOOL; external UserDLLCore name 'DestroyMenu';
 function DestroyMenu(hMenu:HMENU):WINBOOL; external UserDLLCore name 'DestroyMenu';
-function DestroyPropertySheetPage(hPSPage:HPROPSHEETPAGE):WINBOOL; external ComctlDLL name 'DestroyPropertySheetPage';
 function DestroyWindow(hWnd:HWND):WINBOOL; external UserDLLCore name 'DestroyWindow';
 function DestroyWindow(hWnd:HWND):WINBOOL; external UserDLLCore name 'DestroyWindow';
 function DeviceIoControl(hDevice:HANDLE; dwIoControlCode:DWORD; lpInBuffer:LPVOID; nInBufferSize:DWORD; lpOutBuffer:LPVOID;nOutBufferSize:DWORD; lpBytesReturned:LPDWORD; lpOverlapped:LPOVERLAPPED):WINBOOL; external KernelDLL name 'DeviceIoControl';
 function DeviceIoControl(hDevice:HANDLE; dwIoControlCode:DWORD; lpInBuffer:LPVOID; nInBufferSize:DWORD; lpOutBuffer:LPVOID;nOutBufferSize:DWORD; lpBytesReturned:LPDWORD; lpOverlapped:LPOVERLAPPED):WINBOOL; external KernelDLL name 'DeviceIoControl';
 function DisableThreadLibraryCalls(hLibModule:HMODULE):WINBOOL; external KernelDLL name 'DisableThreadLibraryCalls';
 function DisableThreadLibraryCalls(hLibModule:HMODULE):WINBOOL; external KernelDLL name 'DisableThreadLibraryCalls';
@@ -312,6 +308,7 @@ function ImageList_GetIcon(himl:HIMAGELIST; i:longint; flags:UINT):HICON; extern
 function ImageList_GetIconSize(himl:HIMAGELIST; var cx:longint; var cy:longint):WINBOOL; external ComctlDLLCore name 'ImageList_GetIconSize';
 function ImageList_GetIconSize(himl:HIMAGELIST; var cx:longint; var cy:longint):WINBOOL; external ComctlDLLCore name 'ImageList_GetIconSize';
 function ImageList_GetImageCount(himl:HIMAGELIST):longint; external ComctlDLLCore name 'ImageList_GetImageCount';
 function ImageList_GetImageCount(himl:HIMAGELIST):longint; external ComctlDLLCore name 'ImageList_GetImageCount';
 function ImageList_GetImageInfo(himl:HIMAGELIST; i:longint; var pImageInfo:IMAGEINFO):WINBOOL; external ComctlDLLCore name 'ImageList_GetImageInfo';
 function ImageList_GetImageInfo(himl:HIMAGELIST; i:longint; var pImageInfo:IMAGEINFO):WINBOOL; external ComctlDLLCore name 'ImageList_GetImageInfo';
+function ImageList_LoadImage(hi:HINST; lpbmp:LPCSTR; cx:longint; cGrow:longint; crMask:COLORREF;uType:UINT; uFlags:UINT):HIMAGELIST; external ComctlDLLCore name 'ImageList_LoadImage';
 function ImageList_Merge(himl1:HIMAGELIST; i1:longint; himl2:HIMAGELIST; i2:longint; dx:longint;dy:longint):HIMAGELIST; external ComctlDLLCore name 'ImageList_Merge';
 function ImageList_Merge(himl1:HIMAGELIST; i1:longint; himl2:HIMAGELIST; i2:longint; dx:longint;dy:longint):HIMAGELIST; external ComctlDLLCore name 'ImageList_Merge';
 function ImageList_Replace(himl:HIMAGELIST; i:longint; hbmImage:HBITMAP; hbmMask:HBITMAP):WINBOOL; external ComctlDLLCore name 'ImageList_Replace';
 function ImageList_Replace(himl:HIMAGELIST; i:longint; hbmImage:HBITMAP; hbmMask:HBITMAP):WINBOOL; external ComctlDLLCore name 'ImageList_Replace';
 function ImageList_ReplaceIcon(himl:HIMAGELIST; i:longint; hicon:HICON):longint; external ComctlDLLCore name 'ImageList_ReplaceIcon';
 function ImageList_ReplaceIcon(himl:HIMAGELIST; i:longint; hicon:HICON):longint; external ComctlDLLCore name 'ImageList_ReplaceIcon';
@@ -322,8 +319,6 @@ function ImageList_SetIconSize(himl:HIMAGELIST; cx:longint; cy:longint):WINBOOL;
 function ImageList_SetImageCount(himl: HIMAGELIST; uNewCount: UINT): longint; external ComctlDLLCore name 'ImageList_SetImageCount';
 function ImageList_SetImageCount(himl: HIMAGELIST; uNewCount: UINT): longint; external ComctlDLLCore name 'ImageList_SetImageCount';
 function ImageList_SetOverlayImage(himl:HIMAGELIST; iImage:longint; iOverlay:longint):WINBOOL; external ComctlDLLCore name 'ImageList_SetOverlayImage';
 function ImageList_SetOverlayImage(himl:HIMAGELIST; iImage:longint; iOverlay:longint):WINBOOL; external ComctlDLLCore name 'ImageList_SetOverlayImage';
 function InflateRect(lprc:LPRECT; dx:longint; dy:longint):WINBOOL; external UserDLLCore name 'InflateRect';
 function InflateRect(lprc:LPRECT; dx:longint; dy:longint):WINBOOL; external UserDLLCore name 'InflateRect';
-procedure InitCommonControls; external ComctlDLL name 'InitCommonControls';
-function InitCommonControlsEx(_para1:LPINITCOMMONCONTROLSEX):WINBOOL; external ComctlDLL name 'InitCommonControlsEx';
 procedure InitializeCriticalSection(lpCriticalSection:LPCRITICAL_SECTION); external KernelDLL name 'InitializeCriticalSection';
 procedure InitializeCriticalSection(lpCriticalSection:LPCRITICAL_SECTION); external KernelDLL name 'InitializeCriticalSection';
 function InSendMessage:WINBOOL; external UserDLLCore name 'InSendMessage';
 function InSendMessage:WINBOOL; external UserDLLCore name 'InSendMessage';
 function InterlockedIncrement(lpAddend:LPLONG):LONG; external KernelDLL name 'InterlockedIncrement';
 function InterlockedIncrement(lpAddend:LPLONG):LONG; external KernelDLL name 'InterlockedIncrement';

+ 4 - 6
rtl/wince/wininc/unidef.inc

@@ -89,9 +89,7 @@ function CreateFontIndirect(_para1:PLOGFONT):HFONT; external GdiDLL name 'Create
 function CreateMutex(lpMutexAttributes:LPSECURITY_ATTRIBUTES; bInitialOwner:WINBOOL; lpName:LPCWSTR):HANDLE; external KernelDLL name 'CreateMutexW';
 function CreateMutex(lpMutexAttributes:LPSECURITY_ATTRIBUTES; bInitialOwner:WINBOOL; lpName:LPCWSTR):HANDLE; external KernelDLL name 'CreateMutexW';
 function CreateProcess(pszImageName:LPCWSTR; pszCmdLine:LPCWSTR; psaProcess:LPSECURITY_ATTRIBUTES; psaThread:LPSECURITY_ATTRIBUTES; bInheritHandles:WINBOOL;fdwCreate:DWORD; lpEnvironment:LPVOID;
 function CreateProcess(pszImageName:LPCWSTR; pszCmdLine:LPCWSTR; psaProcess:LPSECURITY_ATTRIBUTES; psaThread:LPSECURITY_ATTRIBUTES; bInheritHandles:WINBOOL;fdwCreate:DWORD; lpEnvironment:LPVOID;
   pszCurDir:LPCWSTR; psiStartInfo:LPSTARTUPINFO; pProcInfo:LPPROCESS_INFORMATION):WINBOOL; external KernelDLL name 'CreateProcessW';
   pszCurDir:LPCWSTR; psiStartInfo:LPSTARTUPINFO; pProcInfo:LPPROCESS_INFORMATION):WINBOOL; external KernelDLL name 'CreateProcessW';
-function CreatePropertySheetPage(lppsp:LPCPROPSHEETPAGE):HPROPSHEETPAGE; external ComctlDLL name 'CreatePropertySheetPageW';
 function CreateSemaphore(lpSemaphoreAttributes:LPSECURITY_ATTRIBUTES; lInitialCount:LONG; lMaximumCount:LONG; lpName:LPCWSTR):HANDLE; external KernelDLL name 'CreateSemaphoreW';
 function CreateSemaphore(lpSemaphoreAttributes:LPSECURITY_ATTRIBUTES; lInitialCount:LONG; lMaximumCount:LONG; lpName:LPCWSTR):HANDLE; external KernelDLL name 'CreateSemaphoreW';
-function CreateStatusWindow(style:LONG; lpszText:LPCWSTR; hwndParent:HWND; wID:UINT):HWND; external ComctlDll name 'CreateStatusWindowW';
 function CreateWindow(lpClassName:LPCWSTR; lpWindowName:LPCWSTR; dwStyle:DWORD; X:Longint;Y:Longint; nWidth:Longint; nHeight:Longint; hWndParent:HWND; hMenu:HMENU;hInstance:HINST; lpParam:LPVOID):HWND;
 function CreateWindow(lpClassName:LPCWSTR; lpWindowName:LPCWSTR; dwStyle:DWORD; X:Longint;Y:Longint; nWidth:Longint; nHeight:Longint; hWndParent:HWND; hMenu:HMENU;hInstance:HINST; lpParam:LPVOID):HWND;
 function CreateWindowEx(dwExStyle:DWORD; lpClassName:LPCWSTR; lpWindowName:LPCWSTR; dwStyle:DWORD; X:longint;Y:longint; nWidth:longint; nHeight:longint; hWndParent:HWND; hMenu:HMENU;hInstance:HINST; lpParam:LPVOID):HWND;
 function CreateWindowEx(dwExStyle:DWORD; lpClassName:LPCWSTR; lpWindowName:LPCWSTR; dwStyle:DWORD; X:longint;Y:longint; nWidth:longint; nHeight:longint; hWndParent:HWND; hMenu:HMENU;hInstance:HINST; lpParam:LPVOID):HWND;
   external UserDLLCore name 'CreateWindowExW';
   external UserDLLCore name 'CreateWindowExW';
@@ -103,7 +101,6 @@ function DialogBoxIndirect(hInstance:HINST; lpTemplate:LPCDLGTEMPLATEW; hWndPare
 function DialogBoxIndirectParam(hInstance:HINST; hDialogTemplate:LPCDLGTEMPLATEW; hWndParent:HWND; lpDialogFunc:DLGPROC; dwInitParam:LPARAM):longint; external UserDLLCore name 'DialogBoxIndirectParamW';
 function DialogBoxIndirectParam(hInstance:HINST; hDialogTemplate:LPCDLGTEMPLATEW; hWndParent:HWND; lpDialogFunc:DLGPROC; dwInitParam:LPARAM):longint; external UserDLLCore name 'DialogBoxIndirectParamW';
 function DispatchMessage(lpMsg:LPMSG):LONG; external UserDLLCore name 'DispatchMessageW';
 function DispatchMessage(lpMsg:LPMSG):LONG; external UserDLLCore name 'DispatchMessageW';
 function DrawText(hDC:HDC; lpString:LPCWSTR; nCount:longint; lpRect:LPRECT; uFormat:UINT):longint; external UserDLLCore name 'DrawTextW';
 function DrawText(hDC:HDC; lpString:LPCWSTR; nCount:longint; lpRect:LPRECT; uFormat:UINT):longint; external UserDLLCore name 'DrawTextW';
-procedure DrawStatusText(hDC:HDC; lprc:LPRECT; pszText:LPCWSTR; uFlags:UINT); external ComctlDLL name 'DrawStatusTextW';
 function EnumCalendarInfo(lpCalInfoEnumProc:CALINFO_ENUMPROC; Locale:LCID; Calendar:CALID; CalType:CALTYPE):WINBOOL; external KernelDLL name 'EnumCalendarInfoW';
 function EnumCalendarInfo(lpCalInfoEnumProc:CALINFO_ENUMPROC; Locale:LCID; Calendar:CALID; CalType:CALTYPE):WINBOOL; external KernelDLL name 'EnumCalendarInfoW';
 function EnumDateFormats(lpDateFmtEnumProc:DATEFMT_ENUMPROC; Locale:LCID; dwFlags:DWORD):WINBOOL; external KernelDLL name 'EnumDateFormatsW';
 function EnumDateFormats(lpDateFmtEnumProc:DATEFMT_ENUMPROC; Locale:LCID; dwFlags:DWORD):WINBOOL; external KernelDLL name 'EnumDateFormatsW';
 function EnumFonts(_para1:HDC; _para2:LPCWSTR; _para3:ENUMFONTSPROC; _para4:LPARAM):longint; external GdiDLL name 'EnumFontsW';
 function EnumFonts(_para1:HDC; _para2:LPCWSTR; _para3:ENUMFONTSPROC; _para4:LPARAM):longint; external GdiDLL name 'EnumFontsW';
@@ -133,7 +130,9 @@ function GetDlgItemText(hDlg:HWND; nIDDlgItem:longint; lpString:LPWSTR; nMaxCoun
 function GetFileAttributes(lpFileName:LPCWSTR):DWORD; external KernelDLL name 'GetFileAttributesW';
 function GetFileAttributes(lpFileName:LPCWSTR):DWORD; external KernelDLL name 'GetFileAttributesW';
 function GetFileAttributesEx(lpFileName:LPCWSTR; fInfoLevelId:GET_FILEEX_INFO_LEVELS; lpFileInformation:LPVOID):WINBOOL; external KernelDLL name 'GetFileAttributesExW'; //+winbase
 function GetFileAttributesEx(lpFileName:LPCWSTR; fInfoLevelId:GET_FILEEX_INFO_LEVELS; lpFileInformation:LPVOID):WINBOOL; external KernelDLL name 'GetFileAttributesExW'; //+winbase
 function GetFileVersionInfoSize(lptstrFilename:LPWSTR; lpdwHandle:LPDWORD):DWORD; external VersionDLL name 'GetFileVersionInfoSizeW';
 function GetFileVersionInfoSize(lptstrFilename:LPWSTR; lpdwHandle:LPDWORD):DWORD; external VersionDLL name 'GetFileVersionInfoSizeW';
+//function GetFileVersionInfoSize(lptstrFilename:LPWSTR; var dwHandle:LPDWORD):DWORD; external VersionDLL name 'GetFileVersionInfoSizeW';
 function GetFileVersionInfoSizeW(lptstrFilename:LPWSTR; lpdwHandle:LPDWORD):DWORD; external VersionDLL name 'GetFileVersionInfoSizeW';
 function GetFileVersionInfoSizeW(lptstrFilename:LPWSTR; lpdwHandle:LPDWORD):DWORD; external VersionDLL name 'GetFileVersionInfoSizeW';
+function GetFileVersionInfoSizeW(lptstrFilename:LPWSTR; var dwHandle:DWORD):DWORD; external VersionDLL name 'GetFileVersionInfoSizeW';
 function GetFileVersionInfo(lptstrFilename:LPWSTR; dwHandle:DWORD; dwLen:DWORD; lpData:LPVOID):WINBOOL; external VersionDLL name 'GetFileVersionInfoW';
 function GetFileVersionInfo(lptstrFilename:LPWSTR; dwHandle:DWORD; dwLen:DWORD; lpData:LPVOID):WINBOOL; external VersionDLL name 'GetFileVersionInfoW';
 function GetFileVersionInfoW(lptstrFilename:LPWSTR; dwHandle:DWORD; dwLen:DWORD; lpData:LPVOID):WINBOOL; external VersionDLL name 'GetFileVersionInfoW';
 function GetFileVersionInfoW(lptstrFilename:LPWSTR; dwHandle:DWORD; dwLen:DWORD; lpData:LPVOID):WINBOOL; external VersionDLL name 'GetFileVersionInfoW';
 function GetKeyboardLayoutName(pwszKLID:LPWSTR):WINBOOL; external UserDLLCore name 'GetKeyboardLayoutNameW';
 function GetKeyboardLayoutName(pwszKLID:LPWSTR):WINBOOL; external UserDLLCore name 'GetKeyboardLayoutNameW';
@@ -189,7 +188,6 @@ function PageSetupDlg(_para1:LPPAGESETUPDLGW):WINBOOL; external ComdlgDLL name '
 function PeekMessage(lpMsg:LPMSG; hWnd:HWND; wMsgFilterMin:UINT; wMsgFilterMax:UINT; wRemoveMsg:UINT):WINBOOL; external UserDLLCore name 'PeekMessageW';
 function PeekMessage(lpMsg:LPMSG; hWnd:HWND; wMsgFilterMin:UINT; wMsgFilterMax:UINT; wRemoveMsg:UINT):WINBOOL; external UserDLLCore name 'PeekMessageW';
 function PostThreadMessage(idThread:DWORD; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external UserDLLCore name 'PostThreadMessageW';
 function PostThreadMessage(idThread:DWORD; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external UserDLLCore name 'PostThreadMessageW';
 function PostMessage(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external UserDLLCore name 'PostMessageW';
 function PostMessage(hWnd:HWND; Msg:UINT; wParam:WPARAM; lParam:LPARAM):WINBOOL; external UserDLLCore name 'PostMessageW';
-function PropertySheet(lppsph:LPCPROPSHEETHEADER):longint; external ComctlDll name 'PropertySheetW';
 function RegCreateKeyEx(hKey:HKEY; lpSubKey:LPCWSTR; Reserved:DWORD; lpClass:LPWSTR; dwOptions:DWORD;samDesired:REGSAM; lpSecurityAttributes:LPSECURITY_ATTRIBUTES; phkResult:PHKEY; lpdwDisposition:LPDWORD):LONG;
 function RegCreateKeyEx(hKey:HKEY; lpSubKey:LPCWSTR; Reserved:DWORD; lpClass:LPWSTR; dwOptions:DWORD;samDesired:REGSAM; lpSecurityAttributes:LPSECURITY_ATTRIBUTES; phkResult:PHKEY; lpdwDisposition:LPDWORD):LONG;
   external AdvapiDLLCore name 'RegCreateKeyExW';
   external AdvapiDLLCore name 'RegCreateKeyExW';
 function RegDeleteKey(hKey:HKEY; lpSubKey:LPCWSTR):LONG; external AdvapiDLLCore name 'RegDeleteKeyW';
 function RegDeleteKey(hKey:HKEY; lpSubKey:LPCWSTR):LONG; external AdvapiDLLCore name 'RegDeleteKeyW';
@@ -222,7 +220,9 @@ function StartDoc(_para1:HDC; _para2:PDOCINFOW):longint; external GdiDLL name 'S
 function TranslateAccelerator(hWnd:HWND; hAccTable:HACCEL; lpMsg:LPMSG):longint; external UserDLLCore name 'TranslateAcceleratorW';
 function TranslateAccelerator(hWnd:HWND; hAccTable:HACCEL; lpMsg:LPMSG):longint; external UserDLLCore name 'TranslateAcceleratorW';
 function UnregisterClass(lpClassName:LPCWSTR; hInstance:HINST):WINBOOL; external UserDLLCore name 'UnregisterClassW';
 function UnregisterClass(lpClassName:LPCWSTR; hInstance:HINST):WINBOOL; external UserDLLCore name 'UnregisterClassW';
 function VerQueryValue(pBlock:LPVOID; lpSubBlock:LPWSTR; lplpBuffer:LPVOID; puLen:PUINT):WINBOOL; external versionDLL name 'VerQueryValueW';
 function VerQueryValue(pBlock:LPVOID; lpSubBlock:LPWSTR; lplpBuffer:LPVOID; puLen:PUINT):WINBOOL; external versionDLL name 'VerQueryValueW';
+function VerQueryValue(pBlock:LPVOID; lpSubBlock:LPWSTR; lplpBuffer:LPVOID; var puLen:UINT):WINBOOL; external versionDLL name 'VerQueryValueW';
 function VerQueryValueW(pBlock:LPVOID; lpSubBlock:LPWSTR; lplpBuffer:LPVOID; puLen:PUINT):WINBOOL; external versionDLL name 'VerQueryValueW';
 function VerQueryValueW(pBlock:LPVOID; lpSubBlock:LPWSTR; lplpBuffer:LPVOID; puLen:PUINT):WINBOOL; external versionDLL name 'VerQueryValueW';
+function VerQueryValueW(pBlock:LPVOID; lpSubBlock:LPWSTR; lplpBuffer:LPVOID; var uLen:UINT):WINBOOL; external versionDLL name 'VerQueryValueW';
 function WNetAddConnection3(hwndOwner:HWND; lpNetResource:LPNETRESOURCE; lpPassword:LPCWSTR; lpUserName:LPCWSTR; dwFlags:DWORD):DWORD; external MprDLLCore name 'WNetAddConnection3W';
 function WNetAddConnection3(hwndOwner:HWND; lpNetResource:LPNETRESOURCE; lpPassword:LPCWSTR; lpUserName:LPCWSTR; dwFlags:DWORD):DWORD; external MprDLLCore name 'WNetAddConnection3W';
 function WNetCancelConnection2(lpName:LPCWSTR; dwFlags:DWORD; fForce:WINBOOL):DWORD; external MprDLLCore name 'WNetCancelConnection2W';
 function WNetCancelConnection2(lpName:LPCWSTR; dwFlags:DWORD; fForce:WINBOOL):DWORD; external MprDLLCore name 'WNetCancelConnection2W';
 function WNetConnectionDialog1(lpConnDlgStruct:LPCONNECTDLGSTRUCTW):DWORD; external MprDLLCore name 'WNetConnectionDialog1W';
 function WNetConnectionDialog1(lpConnDlgStruct:LPCONNECTDLGSTRUCTW):DWORD; external MprDLLCore name 'WNetConnectionDialog1W';
@@ -259,8 +259,6 @@ function GetTextExtentPoint32(_para1:HDC; _para2:LPCWSTR; _para3:longint; _para4
 function GetProcAddress(hModule:HINST; lpProcName:LPCWSTR):FARPROC; external KernelDLL name 'GetProcAddressW';
 function GetProcAddress(hModule:HINST; lpProcName:LPCWSTR):FARPROC; external KernelDLL name 'GetProcAddressW';
 //'GetPropW', not exported but 'GetProp' with widechar header are
 //'GetPropW', not exported but 'GetProp' with widechar header are
 function GetProp(hWnd:HWND; lpString:LPCWSTR):HANDLE; external UserDLLCore name 'GetProp';
 function GetProp(hWnd:HWND; lpString:LPCWSTR):HANDLE; external UserDLLCore name 'GetProp';
-//!header specific to CE, not in comctl32(win32)/commctl(wince) but in coredll
-function ImageList_LoadImage(hi:HINST; lpbmp:LPCSTR; cx:longint; cGrow:longint; crMask:COLORREF;uType:UINT; uFlags:UINT):HIMAGELIST; external ComctlDLLCore name 'ImageList_LoadImage';
 //'RemovePropW' not exported but 'RemoveProp' with widechar header is
 //'RemovePropW' not exported but 'RemoveProp' with widechar header is
 function RemoveProp(hWnd:HWND; lpString:LPCWSTR):HANDLE; external UserDLLCore name 'RemoveProp';
 function RemoveProp(hWnd:HWND; lpString:LPCWSTR):HANDLE; external UserDLLCore name 'RemoveProp';
 //'SendMessageTimeoutW' not exported but 'SendMessageTimeout' yes
 //'SendMessageTimeoutW' not exported but 'SendMessageTimeout' yes