فهرست منبع

* Dotted filenames for package winunits-base

Michaël Van Canneyt 2 سال پیش
والد
کامیت
c04dbe036a
71فایلهای تغییر یافته به همراه438 افزوده شده و 36 حذف شده
  1. 3 0
      packages/winunits-base/namespaced/WinApi.Activex.pp
  2. 3 0
      packages/winunits-base/namespaced/WinApi.Buildwinutilsbase.pp
  3. 3 0
      packages/winunits-base/namespaced/WinApi.Comconst.pp
  4. 3 0
      packages/winunits-base/namespaced/WinApi.Commctrl.pp
  5. 3 0
      packages/winunits-base/namespaced/WinApi.Commdlg.pp
  6. 3 0
      packages/winunits-base/namespaced/WinApi.Comobj.pp
  7. 3 0
      packages/winunits-base/namespaced/WinApi.Comserv.pp
  8. 3 0
      packages/winunits-base/namespaced/WinApi.Dwmapi.pp
  9. 3 0
      packages/winunits-base/namespaced/WinApi.Eventsink.pp
  10. 3 0
      packages/winunits-base/namespaced/WinApi.Flatsb.pp
  11. 3 0
      packages/winunits-base/namespaced/WinApi.Htmlhelp.pp
  12. 3 0
      packages/winunits-base/namespaced/WinApi.Httpapi.pp
  13. 3 0
      packages/winunits-base/namespaced/WinApi.Imagehlp.pp
  14. 3 0
      packages/winunits-base/namespaced/WinApi.Imm.pas
  15. 3 0
      packages/winunits-base/namespaced/WinApi.ImmDyn.pas
  16. 3 0
      packages/winunits-base/namespaced/WinApi.Libkinect10.pp
  17. 3 0
      packages/winunits-base/namespaced/WinApi.Mmsystem.pp
  18. 3 0
      packages/winunits-base/namespaced/WinApi.Multimon.pp
  19. 3 0
      packages/winunits-base/namespaced/WinApi.Nb30.pp
  20. 3 0
      packages/winunits-base/namespaced/WinApi.Ole2.pp
  21. 3 0
      packages/winunits-base/namespaced/WinApi.Oleserver.pp
  22. 3 0
      packages/winunits-base/namespaced/WinApi.Richedit.pp
  23. 3 0
      packages/winunits-base/namespaced/WinApi.Shellapi.pp
  24. 3 0
      packages/winunits-base/namespaced/WinApi.Shfolder.pp
  25. 3 0
      packages/winunits-base/namespaced/WinApi.Shlobj.pp
  26. 3 0
      packages/winunits-base/namespaced/WinApi.Shlwapi.pp
  27. 3 0
      packages/winunits-base/namespaced/WinApi.Stdole2.pas
  28. 3 0
      packages/winunits-base/namespaced/WinApi.Typelib.pas
  29. 3 0
      packages/winunits-base/namespaced/WinApi.Urlmon.pp
  30. 3 0
      packages/winunits-base/namespaced/WinApi.Uxtheme.pp
  31. 3 0
      packages/winunits-base/namespaced/WinApi.Winhttp.pp
  32. 3 0
      packages/winunits-base/namespaced/WinApi.Wininet.pp
  33. 3 0
      packages/winunits-base/namespaced/WinApi.Winspool.pp
  34. 3 0
      packages/winunits-base/namespaced/WinApi.Winutils.pp
  35. 3 0
      packages/winunits-base/namespaced/WinApi.Winver.pp
  36. 37 0
      packages/winunits-base/namespaces.lst
  37. 17 11
      packages/winunits-base/src/activex.pp
  38. 12 0
      packages/winunits-base/src/buildwinutilsbase.pp
  39. 2 0
      packages/winunits-base/src/comconst.pp
  40. 12 6
      packages/winunits-base/src/commctrl.pp
  41. 6 0
      packages/winunits-base/src/commdlg.pp
  42. 14 2
      packages/winunits-base/src/comobj.pp
  43. 21 9
      packages/winunits-base/src/comserv.pp
  44. 7 0
      packages/winunits-base/src/dwmapi.pp
  45. 12 0
      packages/winunits-base/src/eventsink.pp
  46. 7 0
      packages/winunits-base/src/flatsb.pp
  47. 6 0
      packages/winunits-base/src/htmlhelp.pp
  48. 12 0
      packages/winunits-base/src/httpapi.pp
  49. 6 0
      packages/winunits-base/src/imagehlp.pp
  50. 8 2
      packages/winunits-base/src/imm.pas
  51. 7 0
      packages/winunits-base/src/imm_dyn.pas
  52. 10 0
      packages/winunits-base/src/libkinect10.pp
  53. 7 0
      packages/winunits-base/src/mmsystem.pp
  54. 8 1
      packages/winunits-base/src/multimon.pp
  55. 6 0
      packages/winunits-base/src/nb30.pp
  56. 7 0
      packages/winunits-base/src/ole2.pp
  57. 8 2
      packages/winunits-base/src/oleserver.pp
  58. 6 0
      packages/winunits-base/src/richedit.pp
  59. 6 0
      packages/winunits-base/src/shellapi.pp
  60. 7 0
      packages/winunits-base/src/shfolder.pp
  61. 7 0
      packages/winunits-base/src/shlobj.pp
  62. 6 0
      packages/winunits-base/src/shlwapi.pp
  63. 13 3
      packages/winunits-base/src/stdole2.pas
  64. 7 0
      packages/winunits-base/src/typelib.pas
  65. 7 0
      packages/winunits-base/src/urlmon.pp
  66. 7 0
      packages/winunits-base/src/uxtheme.pp
  67. 6 0
      packages/winunits-base/src/winhttp.pp
  68. 6 0
      packages/winunits-base/src/wininet.pp
  69. 7 0
      packages/winunits-base/src/winspool.pp
  70. 6 0
      packages/winunits-base/src/winutils.pp
  71. 10 0
      packages/winunits-base/src/winver.pp

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Activex.pp

@@ -0,0 +1,3 @@
+unit WinApi.Activex;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i activex.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Buildwinutilsbase.pp

@@ -0,0 +1,3 @@
+unit WinApi.Buildwinutilsbase;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i buildwinutilsbase.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Comconst.pp

@@ -0,0 +1,3 @@
+unit WinApi.Comconst;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i comconst.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Commctrl.pp

@@ -0,0 +1,3 @@
+unit WinApi.Commctrl;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i commctrl.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Commdlg.pp

@@ -0,0 +1,3 @@
+unit WinApi.Commdlg;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i commdlg.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Comobj.pp

@@ -0,0 +1,3 @@
+unit WinApi.Comobj;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i comobj.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Comserv.pp

@@ -0,0 +1,3 @@
+unit WinApi.Comserv;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i comserv.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Dwmapi.pp

@@ -0,0 +1,3 @@
+unit WinApi.Dwmapi;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i dwmapi.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Eventsink.pp

@@ -0,0 +1,3 @@
+unit WinApi.Eventsink;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i eventsink.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Flatsb.pp

@@ -0,0 +1,3 @@
+unit WinApi.Flatsb;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i flatsb.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Htmlhelp.pp

@@ -0,0 +1,3 @@
+unit WinApi.Htmlhelp;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i htmlhelp.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Httpapi.pp

@@ -0,0 +1,3 @@
+unit WinApi.Httpapi;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i httpapi.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Imagehlp.pp

@@ -0,0 +1,3 @@
+unit WinApi.Imagehlp;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i imagehlp.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Imm.pas

@@ -0,0 +1,3 @@
+unit WinApi.Imm;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i imm.pas}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.ImmDyn.pas

@@ -0,0 +1,3 @@
+unit WinApi.ImmDyn;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i imm_dyn.pas}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Libkinect10.pp

@@ -0,0 +1,3 @@
+unit WinApi.Libkinect10;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i libkinect10.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Mmsystem.pp

@@ -0,0 +1,3 @@
+unit WinApi.Mmsystem;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i mmsystem.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Multimon.pp

@@ -0,0 +1,3 @@
+unit WinApi.Multimon;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i multimon.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Nb30.pp

@@ -0,0 +1,3 @@
+unit WinApi.Nb30;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i nb30.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Ole2.pp

@@ -0,0 +1,3 @@
+unit WinApi.Ole2;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i ole2.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Oleserver.pp

@@ -0,0 +1,3 @@
+unit WinApi.Oleserver;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i oleserver.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Richedit.pp

@@ -0,0 +1,3 @@
+unit WinApi.Richedit;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i richedit.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Shellapi.pp

@@ -0,0 +1,3 @@
+unit WinApi.Shellapi;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i shellapi.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Shfolder.pp

@@ -0,0 +1,3 @@
+unit WinApi.Shfolder;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i shfolder.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Shlobj.pp

@@ -0,0 +1,3 @@
+unit WinApi.Shlobj;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i shlobj.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Shlwapi.pp

@@ -0,0 +1,3 @@
+unit WinApi.Shlwapi;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i shlwapi.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Stdole2.pas

@@ -0,0 +1,3 @@
+unit WinApi.Stdole2;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i stdole2.pas}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Typelib.pas

@@ -0,0 +1,3 @@
+unit WinApi.Typelib;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i typelib.pas}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Urlmon.pp

@@ -0,0 +1,3 @@
+unit WinApi.Urlmon;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i urlmon.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Uxtheme.pp

@@ -0,0 +1,3 @@
+unit WinApi.Uxtheme;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i uxtheme.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Winhttp.pp

@@ -0,0 +1,3 @@
+unit WinApi.Winhttp;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i winhttp.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Wininet.pp

@@ -0,0 +1,3 @@
+unit WinApi.Wininet;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i wininet.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Winspool.pp

@@ -0,0 +1,3 @@
+unit WinApi.Winspool;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i winspool.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Winutils.pp

@@ -0,0 +1,3 @@
+unit WinApi.Winutils;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i winutils.pp}

+ 3 - 0
packages/winunits-base/namespaced/WinApi.Winver.pp

@@ -0,0 +1,3 @@
+unit WinApi.Winver;
+{$DEFINE FPC_DOTTEDUNITS}
+{$i winver.pp}

+ 37 - 0
packages/winunits-base/namespaces.lst

@@ -0,0 +1,37 @@
+src/shlobj.pp=namespaced/WinApi.Shlobj.pp
+{s*:src/}=namespaced/
+{i+:src/}
+src/richedit.pp=namespaced/WinApi.Richedit.pp
+src/eventsink.pp=namespaced/WinApi.Eventsink.pp
+src/multimon.pp=namespaced/WinApi.Multimon.pp
+src/commdlg.pp=namespaced/WinApi.Commdlg.pp
+src/winutils.pp=namespaced/WinApi.Winutils.pp
+src/mmsystem.pp=namespaced/WinApi.Mmsystem.pp
+src/shlwapi.pp=namespaced/WinApi.Shlwapi.pp
+src/imm_dyn.pas=namespaced/WinApi.ImmDyn.pas
+src/imm.pas=namespaced/WinApi.Imm.pas
+src/winspool.pp=namespaced/WinApi.Winspool.pp
+src/ole2.pp=namespaced/WinApi.Ole2.pp
+src/shellapi.pp=namespaced/WinApi.Shellapi.pp
+src/buildwinutilsbase.pp=namespaced/WinApi.Buildwinutilsbase.pp
+src/wininet.pp=namespaced/WinApi.Wininet.pp
+src/libkinect10.pp=namespaced/WinApi.Libkinect10.pp
+src/oleserver.pp=namespaced/WinApi.Oleserver.pp
+src/activex.pp=namespaced/WinApi.Activex.pp
+src/nb30.pp=namespaced/WinApi.Nb30.pp
+src/urlmon.pp=namespaced/WinApi.Urlmon.pp
+src/comserv.pp=namespaced/WinApi.Comserv.pp
+src/flatsb.pp=namespaced/WinApi.Flatsb.pp
+src/httpapi.pp=namespaced/WinApi.Httpapi.pp
+src/shfolder.pp=namespaced/WinApi.Shfolder.pp
+src/winhttp.pp=namespaced/WinApi.Winhttp.pp
+src/htmlhelp.pp=namespaced/WinApi.Htmlhelp.pp
+src/imagehlp.pp=namespaced/WinApi.Imagehlp.pp
+src/typelib.pas=namespaced/WinApi.Typelib.pas
+src/dwmapi.pp=namespaced/WinApi.Dwmapi.pp
+src/commctrl.pp=namespaced/WinApi.Commctrl.pp
+src/winver.pp=namespaced/WinApi.Winver.pp
+src/stdole2.pas=namespaced/WinApi.Stdole2.pas
+src/comconst.pp=namespaced/WinApi.Comconst.pp
+src/uxtheme.pp=namespaced/WinApi.Uxtheme.pp
+src/comobj.pp=namespaced/WinApi.Comobj.pp

+ 17 - 11
packages/winunits-base/src/activex.pp

@@ -1,4 +1,6 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 Unit ActiveX;
 Unit ActiveX;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 //+-------------------------------------------------------------------------
 //+-------------------------------------------------------------------------
 //
 //
@@ -20,14 +22,18 @@ Unit ActiveX;
 
 
 Interface
 Interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses System.Variants,WinApi.Windows,System.CTypes,System.Types;
+{$ELSE FPC_DOTTEDUNITS}
 Uses variants,Windows,ctypes,types;
 Uses variants,Windows,ctypes,types;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 
 
 type
 type
 { extra types }
 { extra types }
-   TOleChar = Types.TOleChar;
-   POleStr = Types.POleStr;
-   PPOleStr = Types.PPOleStr;
+   TOleChar = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.TOleChar;
+   POleStr = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.POleStr;
+   PPOleStr = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.PPOleStr;
    TBStr = POleStr;
    TBStr = POleStr;
    TBStrList = array[0..65535] of TBstr;
    TBStrList = array[0..65535] of TBstr;
    PBStrList = ^TBStrList;
    PBStrList = ^TBStrList;
@@ -36,10 +42,10 @@ type
 
 
    PBStr = ^TBStr;
    PBStr = ^TBStr;
    TOleEnum = type LongWord;
    TOleEnum = type LongWord;
-   LargeInt = Types.LargeInt;
-   LargeUInt = Types.LargeUInt;
-   PLargeInt = Types.PLargeInt;
-   PLargeUInt = Types.PLargeUInt;
+   LargeInt = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.LargeInt;
+   LargeUInt = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.LargeUInt;
+   PLargeInt = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.PLargeInt;
+   PLargeUInt = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.PLargeUInt;
    FMTID  =  TGUID;
    FMTID  =  TGUID;
    pFMTID = pGUID;
    pFMTID = pGUID;
 
 
@@ -1570,10 +1576,10 @@ TYPE
 
 
 
 
 
 
-   tagSTATSTG                   = types.tagSTATSTG;
+   tagSTATSTG                   = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.tagSTATSTG;
 
 
    TStatStg                     = tagSTATSTG;
    TStatStg                     = tagSTATSTG;
-   PStatStg                     = types.PStatStg;
+   PStatStg                     = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.PStatStg;
    STATSTG                      = TStatStg;
    STATSTG                      = TStatStg;
 
 
 {    TagRemSNB = Record
 {    TagRemSNB = Record
@@ -2243,7 +2249,7 @@ TYPE
 
 
 // Forward interfaces.
 // Forward interfaces.
 
 
-   IStream             = Types.IStream;
+   IStream             = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.IStream;
    IMoniker            = Interface;
    IMoniker            = Interface;
    IEnumMoniker        = Interface;
    IEnumMoniker        = Interface;
    IEnumString         = Interface;
    IEnumString         = Interface;
@@ -2655,7 +2661,7 @@ TYPE
        Function Clone(Out penum:IEnumString):HResult;StdCall;
        Function Clone(Out penum:IEnumString):HResult;StdCall;
        End;
        End;
 
 
-    ISequentialStream = Types.ISequentialStream;
+    ISequentialStream = {$IFDEF FPC_DOTTEDUNITS}System.{$ENDIF}Types.ISequentialStream;
     (*interface(IUnknown)
     (*interface(IUnknown)
        ['{0c733a30-2a1c-11ce-ade5-00aa0044773d}']
        ['{0c733a30-2a1c-11ce-ade5-00aa0044773d}']
        function Read(pv : Pointer;cb : ULONG;pcbRead : PULONG) : HRESULT;stdcall;
        function Read(pv : Pointer;cb : ULONG;pcbRead : PULONG) : HRESULT;stdcall;

+ 12 - 0
packages/winunits-base/src/buildwinutilsbase.pp

@@ -16,10 +16,21 @@
    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
    Boston, MA 02110-1301, USA.
    Boston, MA 02110-1301, USA.
 }
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit buildwinutilsbase;
 unit buildwinutilsbase;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+    WinApi.Flatsb, WinApi.Winver, WinApi.Mmsystem, WinApi.Comconst, WinApi.Commctrl, WinApi.Comobj, WinApi.Commdlg,
+    WinApi.Ole2, WinApi.Activex, WinApi.Shellapi, WinApi.Shlobj, WinApi.Oleserver,  WinApi.Shfolder, WinApi.Richedit,
+    WinApi.Imagehlp, WinApi.Wininet, WinApi.Uxtheme, WinApi.Dwmapi, WinApi.Multimon, WinApi.Htmlhelp, WinApi.Winutils,
+    WinApi.Comserv, WinApi.Winspool, WinApi.Imm, WinApi.ImmDyn, WinApi.Nb30, WinApi.Stdole2,
+    WinApi.Eventsink, WinApi.Typelib, WinApi.Libkinect10, WinApi.Urlmon, WinApi.Winhttp,
+    WinApi.Shlwapi, WinApi.Httpapi;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
     flatsb, winver, mmsystem, comconst, commctrl, comobj, commdlg,
     flatsb, winver, mmsystem, comconst, commctrl, comobj, commdlg,
     ole2, activex, shellapi, shlobj, oleserver,  shfolder, richedit,
     ole2, activex, shellapi, shlobj, oleserver,  shfolder, richedit,
@@ -27,6 +38,7 @@ uses
     comserv, winspool, imm, imm_dyn, nb30, stdole2,
     comserv, winspool, imm, imm_dyn, nb30, stdole2,
     eventsink, typelib, libkinect10, urlmon, winhttp,
     eventsink, typelib, libkinect10, urlmon, winhttp,
     shlwapi, httpapi;
     shlwapi, httpapi;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 implementation
 implementation
 
 

+ 2 - 0
packages/winunits-base/src/comconst.pp

@@ -14,7 +14,9 @@
 {$mode objfpc}
 {$mode objfpc}
 {$H+}
 {$H+}
 {$inline on}
 {$inline on}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit ComConst;
 unit ComConst;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
   interface
   interface
 
 

+ 12 - 6
packages/winunits-base/src/commctrl.pp

@@ -39,7 +39,9 @@
 }
 }
 
 
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 Unit CommCtrl;
 Unit CommCtrl;
+{$ENDIF FPC_DOTTEDUNITS}
 Interface
 Interface
 
 
 {$Mode ObjFPC}
 {$Mode ObjFPC}
@@ -47,7 +49,11 @@ Interface
 {$ifdef FPC_OS_UNICODE}
 {$ifdef FPC_OS_UNICODE}
   {$define UNICODE}
   {$define UNICODE}
 {$endif}
 {$endif}
+{$IFDEF FPC_DOTTEDUNITS}
+Uses WinApi.Windows,System.CTypes,WinApi.Activex;
+{$ELSE FPC_DOTTEDUNITS}
 Uses Windows,CTypes,ActiveX;
 Uses Windows,CTypes,ActiveX;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 // --------------------
 // --------------------
 
 
@@ -10779,7 +10785,7 @@ end;
 Function ListView_GetHeader( hwnd : hwnd):HWND;
 Function ListView_GetHeader( hwnd : hwnd):HWND;
 
 
 Begin
 Begin
- Result:=Windows.HWND(SendMessage((hwnd), LVM_GETHEADER, 0, LPARAM(0)));
+ Result:={$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.HWND(SendMessage((hwnd), LVM_GETHEADER, 0, LPARAM(0)));
 end;
 end;
 
 
 
 
@@ -12069,7 +12075,7 @@ end;
 Function TreeView_EditLabel( hwnd : hwnd; hitem : HTREEITEM):HWND;
 Function TreeView_EditLabel( hwnd : hwnd; hitem : HTREEITEM):HWND;
 
 
 Begin
 Begin
- Result:=Windows.HWND(SendMessage((hwnd), TVM_EDITLABEL, 0, LParam(hitem)))
+ Result:={$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.HWND(SendMessage((hwnd), TVM_EDITLABEL, 0, LParam(hitem)))
 end;
 end;
 
 
 
 
@@ -12081,7 +12087,7 @@ end;
 Function TreeView_GetEditControl( hwnd : hwnd):HWND;
 Function TreeView_GetEditControl( hwnd : hwnd):HWND;
 
 
 Begin
 Begin
- Result:=Windows.HWND(SendMessage((hwnd), TVM_GETEDITCONTROL, 0, 0))
+ Result:={$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.HWND(SendMessage((hwnd), TVM_GETEDITCONTROL, 0, 0))
 end;
 end;
 
 
 
 
@@ -12197,7 +12203,7 @@ end;
 Function TreeView_SetToolTips( hwnd : hwnd; hwndTT : WPARAM):HWND;
 Function TreeView_SetToolTips( hwnd : hwnd; hwndTT : WPARAM):HWND;
 
 
 Begin
 Begin
- Result:=Windows.HWND(SendMessage((hwnd), TVM_SETTOOLTIPS, hwndTT, 0))
+ Result:={$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.HWND(SendMessage((hwnd), TVM_SETTOOLTIPS, hwndTT, 0))
 end;
 end;
 
 
 
 
@@ -12209,7 +12215,7 @@ end;
 Function TreeView_GetToolTips( hwnd : hwnd):HWND;
 Function TreeView_GetToolTips( hwnd : hwnd):HWND;
 
 
 Begin
 Begin
- Result:=Windows.HWND(SendMessage((hwnd), TVM_GETTOOLTIPS, 0, 0))
+ Result:={$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.HWND(SendMessage((hwnd), TVM_GETTOOLTIPS, 0, 0))
 end;
 end;
 
 
 
 
@@ -12746,7 +12752,7 @@ end;
 Function TabCtrl_GetToolTips( hwnd : hwnd):HWND;
 Function TabCtrl_GetToolTips( hwnd : hwnd):HWND;
 
 
 Begin
 Begin
- Result:=Windows.HWND(SendMessage((hwnd), TCM_GETTOOLTIPS, 0, LPARAM(0)))
+ Result:={$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.HWND(SendMessage((hwnd), TCM_GETTOOLTIPS, 0, LPARAM(0)))
 end;
 end;
 
 
 
 

+ 6 - 0
packages/winunits-base/src/commdlg.pp

@@ -13,7 +13,9 @@
     Note these functions were in the windows unit in older versions
     Note these functions were in the windows unit in older versions
 
 
  **********************************************************************}
  **********************************************************************}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit CommDlg;
 unit CommDlg;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 {$mode delphi} // interface
 {$mode delphi} // interface
@@ -24,7 +26,11 @@ interface
 {$ifdef FPC_OS_UNICODE}
 {$ifdef FPC_OS_UNICODE}
   {$define UNICODE}
   {$define UNICODE}
 {$endif}
 {$endif}
+{$IFDEF FPC_DOTTEDUNITS}
+uses WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses windows;
 uses windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Type
 Type
      LPOFNHOOKPROC=function (h:HWND; u:UINT; w:WPARAM; l:LPARAM):  UINT_PTR; stdcall;
      LPOFNHOOKPROC=function (h:HWND; u:UINT; w:WPARAM; l:LPARAM):  UINT_PTR; stdcall;

+ 14 - 2
packages/winunits-base/src/comobj.pp

@@ -14,7 +14,9 @@
 {$mode objfpc}
 {$mode objfpc}
 {$H+}
 {$H+}
 {$inline on}
 {$inline on}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit ComObj;
 unit ComObj;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
   interface
   interface
 
 
@@ -24,8 +26,13 @@ unit ComObj;
 {$ifdef wince}
 {$ifdef wince}
   {$define DUMMY_REG}
   {$define DUMMY_REG}
 {$endif}
 {$endif}
+{$IFDEF FPC_DOTTEDUNITS}
+    uses
+      WinApi.Windows,System.Types,System.Variants,System.SysUtils,WinApi.Activex,System.Classes;
+{$ELSE FPC_DOTTEDUNITS}
     uses
     uses
       Windows,Types,Variants,Sysutils,ActiveX,classes;
       Windows,Types,Variants,Sysutils,ActiveX,classes;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
     type
     type
       EOleError = class(Exception);
       EOleError = class(Exception);
@@ -332,8 +339,13 @@ unit ComObj;
   {$endif}
   {$endif}
 implementation
 implementation
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+    uses
+      WinApi.Comconst, WinApi.Ole2, {$ifndef dummy_reg} System.Registry, {$endif} System.RtlConsts;
+{$ELSE FPC_DOTTEDUNITS}
     uses
     uses
       ComConst, Ole2, {$ifndef dummy_reg} Registry, {$endif} RtlConsts;
       ComConst, Ole2, {$ifndef dummy_reg} Registry, {$endif} RtlConsts;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
     var
     var
       Uninitializing : boolean;
       Uninitializing : boolean;
@@ -1926,11 +1938,11 @@ begin
     TProcedure(SaveInitProc)();
     TProcedure(SaveInitProc)();
   if not CoInitDisable then
   if not CoInitDisable then
 {$ifndef wince}
 {$ifndef wince}
-    if (CoInitFlags=-1) or not(assigned(ComObj.CoInitializeEx)) then
+    if (CoInitFlags=-1) or not(assigned({$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoInitializeEx)) then
       Initialized:=Succeeded(CoInitialize(nil))
       Initialized:=Succeeded(CoInitialize(nil))
     else
     else
 {$endif wince}
 {$endif wince}
-      Initialized:=Succeeded(ComObj.CoInitializeEx(nil, CoInitFlags));
+      Initialized:=Succeeded({$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoInitializeEx(nil, CoInitFlags));
 end;
 end;
 
 
 initialization
 initialization

+ 21 - 9
packages/winunits-base/src/comserv.pp

@@ -14,12 +14,19 @@
 {$mode objfpc}
 {$mode objfpc}
 {$H+}
 {$H+}
 {$inline on}
 {$inline on}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit ComServ;
 unit ComServ;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils, WinApi.Comobj, WinApi.Activex;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
   Classes, SysUtils, comobj, ActiveX;
   Classes, SysUtils, comobj, ActiveX;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 { $define DEBUG_COM}
 { $define DEBUG_COM}
 
 
@@ -121,8 +128,13 @@ function DllUnregisterServer: HResult; stdcall;
 
 
 implementation
 implementation
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
   Windows;
   Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 function DllCanUnloadNow: HResult; stdcall;
 function DllCanUnloadNow: HResult; stdcall;
 begin
 begin
@@ -209,7 +221,7 @@ var
   FileName: WideString;
   FileName: WideString;
 begin
 begin
   SetLength(FileName, MAX_PATH_SIZE);
   SetLength(FileName, MAX_PATH_SIZE);
-  SetLength(FileName, Windows.GetModuleFileNameW(HInstance, @FileName[1], MAX_PATH_SIZE));
+  SetLength(FileName, {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.GetModuleFileNameW(HInstance, @FileName[1], MAX_PATH_SIZE));
   Result := FileName;
   Result := FileName;
 end;
 end;
 
 
@@ -225,7 +237,7 @@ var
 begin
 begin
   FullPath := ModuleName;
   FullPath := ModuleName;
   //according to MSDN helpdir can be null
   //according to MSDN helpdir can be null
-  OleCheck(ActiveX.RegisterTypeLib(TypeLib, @FullPath[1], nil));
+  OleCheck({$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ActiveX.RegisterTypeLib(TypeLib, @FullPath[1], nil));
 end;
 end;
 
 
 procedure UnRegisterTypeLib(TypeLib: ITypeLib);
 procedure UnRegisterTypeLib(TypeLib: ITypeLib);
@@ -235,7 +247,7 @@ begin
   //http://www.experts-exchange.com/Programming/Misc/Q_20634807.html
   //http://www.experts-exchange.com/Programming/Misc/Q_20634807.html
   OleCheck(TypeLib.GetLibAttr(ptla));
   OleCheck(TypeLib.GetLibAttr(ptla));
   try
   try
-    ActiveX.UnRegisterTypeLib(ptla^.guid, ptla^.wMajorVerNum, ptla^.wMinorVerNum, ptla^.lcid, ptla^.syskind);
+    {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ActiveX.UnRegisterTypeLib(ptla^.guid, ptla^.wMajorVerNum, ptla^.wMinorVerNum, ptla^.lcid, ptla^.syskind);
   finally
   finally
     TypeLib.ReleaseTLibAttr(ptla);
     TypeLib.ReleaseTLibAttr(ptla);
   end;
   end;
@@ -250,16 +262,16 @@ begin
   begin
   begin
     Result := InterlockedIncrement(FCountObject);
     Result := InterlockedIncrement(FCountObject);
     if (not IsInProcServer) and (StartMode = smAutomation)
     if (not IsInProcServer) and (StartMode = smAutomation)
-      and Assigned(ComObj.CoAddRefServerProcess) then
-      ComObj.CoAddRefServerProcess;
+      and Assigned({$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoAddRefServerProcess) then
+      {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoAddRefServerProcess;
   end
   end
   else
   else
   begin
   begin
     Result := InterlockedDecrement(FCountObject);
     Result := InterlockedDecrement(FCountObject);
     if (not IsInProcServer) and (StartMode = smAutomation)
     if (not IsInProcServer) and (StartMode = smAutomation)
-      and Assigned(ComObj.CoReleaseServerProcess) then
+      and Assigned({$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoReleaseServerProcess) then
     begin
     begin
-      if ComObj.CoReleaseServerProcess() = 0 then
+      if {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoReleaseServerProcess() = 0 then
         CheckReleased;
         CheckReleased;
     end
     end
     else if Result = 0 then
     else if Result = 0 then
@@ -432,10 +444,10 @@ class procedure TComServer.AutomationStart;
 begin
 begin
   if orgInitProc <> nil then TProcedure(orgInitProc)();
   if orgInitProc <> nil then TProcedure(orgInitProc)();
   ComServer.FStartSuspended := (CoInitFlags <> -1) and
   ComServer.FStartSuspended := (CoInitFlags <> -1) and
-    Assigned(ComObj.CoInitializeEx) and Assigned(ComObj.CoResumeClassObjects);
+    Assigned({$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoInitializeEx) and Assigned({$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoResumeClassObjects);
   ComServer.Start;
   ComServer.Start;
   if ComServer.FStartSuspended then
   if ComServer.FStartSuspended then
-    ComObj.CoResumeClassObjects;
+    {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.CoResumeClassObjects;
 end;
 end;
 
 
 class function TComServer.AutomationDone: Boolean;
 class function TComServer.AutomationDone: Boolean;

+ 7 - 0
packages/winunits-base/src/dwmapi.pp

@@ -22,13 +22,20 @@
     Description: DWM API declarations
     Description: DWM API declarations
 
 
  *=========================================================================*}
  *=========================================================================*}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit DwmApi;
 unit DwmApi;
+{$ENDIF FPC_DOTTEDUNITS}
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.Windows, WinApi.Uxtheme;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
   Windows, UxTheme;
   Windows, UxTheme;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 procedure FreeDwmLibrary;
 procedure FreeDwmLibrary;
 function InitDwmLibrary: Boolean;
 function InitDwmLibrary: Boolean;

+ 12 - 0
packages/winunits-base/src/eventsink.pp

@@ -1,4 +1,6 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 unit EventSink;
 unit EventSink;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
 { COM EventSink.
 { COM EventSink.
@@ -33,8 +35,13 @@ unit EventSink;
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+ WinApi.Windows, System.SysUtils, System.Classes, WinApi.Activex;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
  Windows, SysUtils, Classes, ActiveX;
  Windows, SysUtils, Classes, ActiveX;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 type
 type
  TInvokeEvent = procedure(Sender: TObject; DispID: Integer;
  TInvokeEvent = procedure(Sender: TObject; DispID: Integer;
@@ -89,8 +96,13 @@ type
 
 
 implementation
 implementation
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+ WinApi.Comobj;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
  ComObj;
  ComObj;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 { TAbstractEventSink }
 { TAbstractEventSink }
 
 

+ 7 - 0
packages/winunits-base/src/flatsb.pp

@@ -14,12 +14,19 @@
 {$mode objfpc}
 {$mode objfpc}
 {$H+}
 {$H+}
 {$inline on}
 {$inline on}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit FlatSB;
 unit FlatSB;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
   interface
   interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+    uses
+      System.CTypes,WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
     uses
     uses
       ctypes,Windows;
       ctypes,Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
     function InitializeFlatSB(hWnd: HWND): Bool; stdcall;
     function InitializeFlatSB(hWnd: HWND): Bool; stdcall;
     procedure UninitializeFlatSB(hWnd: HWND); stdcall;
     procedure UninitializeFlatSB(hWnd: HWND); stdcall;

+ 6 - 0
packages/winunits-base/src/htmlhelp.pp

@@ -21,14 +21,20 @@
 ****************************************************************************/
 ****************************************************************************/
 }
 }
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit htmlhelp;
 unit htmlhelp;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 {$ifdef FPC_OS_UNICODE}
 {$ifdef FPC_OS_UNICODE}
   {$define UNICODE}
   {$define UNICODE}
 {$endif}
 {$endif}
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 Uses Windows;
 Uses Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 const
 const
 // Commands to pass to HtmlHelp()
 // Commands to pass to HtmlHelp()

+ 12 - 0
packages/winunits-base/src/httpapi.pp

@@ -34,7 +34,9 @@ Revision History:
 
 
 }
 }
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit HttpApi;
 unit HttpApi;
+{$ENDIF FPC_DOTTEDUNITS}
 interface
 interface
 
 
 {
 {
@@ -54,8 +56,13 @@ interface
 
 
 {$MODE OBJFPC}
 {$MODE OBJFPC}
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+  uses
+    WinApi.Windows, WinApi.Winsock2;
+{$ELSE FPC_DOTTEDUNITS}
   uses
   uses
     Windows, WinSock2;
     Windows, WinSock2;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
   const
   const
     External_library='httpapi.dll'; {Setup as you need}
     External_library='httpapi.dll'; {Setup as you need}
@@ -1265,8 +1272,13 @@ function HttpUpdateServiceConfiguration(ServiceHandle: HANDLE; ConfigId: HTTP_SE
 
 
 implementation
 implementation
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+  uses
+    System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
   uses
   uses
     SysUtils;
     SysUtils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
   function Present(var a : _HTTP_PROPERTY_FLAGS) : ULONG;
   function Present(var a : _HTTP_PROPERTY_FLAGS) : ULONG;
     begin
     begin

+ 6 - 0
packages/winunits-base/src/imagehlp.pp

@@ -18,11 +18,17 @@
 	    I added a dummy nested record union.
 	    I added a dummy nested record union.
 	  
 	  
 }
 }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit imagehlp;
 unit imagehlp;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Interface
 Interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 Uses Windows;
 Uses Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$packrecords 8}
 {$packrecords 8}
 {$ifdef win64}
 {$ifdef win64}

+ 8 - 2
packages/winunits-base/src/imm.pas

@@ -7,15 +7,21 @@
 (*                                                                     *)
 (*                                                                     *)
 (********************************************************************* *)
 (********************************************************************* *)
 
 
-unit
-  imm;
+{$IFNDEF FPC_DOTTEDUNITS}
+unit imm;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$mode delphi}
 {$mode delphi}
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
   Windows;
   Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$PACKRECORDS C}
 {$PACKRECORDS C}
 
 

+ 7 - 0
packages/winunits-base/src/imm_dyn.pas

@@ -13,14 +13,21 @@
 (* section after imm unit.                                             *)
 (* section after imm unit.                                             *)
 (*                                                                     *)
 (*                                                                     *)
 (********************************************************************* *)
 (********************************************************************* *)
+{$IFNDEF FPC_DOTTEDUNITS}
 unit imm_dyn;
 unit imm_dyn;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$mode delphi}
 {$mode delphi}
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.Windows, WinApi.Imm;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
   Windows, imm;
   Windows, imm;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 var
 var
   ImmInstallIMEA : function (lpszIMEFileName, lpszLayoutText: LPCSTR): HKL; stdcall = nil;
   ImmInstallIMEA : function (lpszIMEFileName, lpszLayoutText: LPCSTR): HKL; stdcall = nil;

+ 10 - 0
packages/winunits-base/src/libkinect10.pp

@@ -22,11 +22,17 @@
 {$H+}
 {$H+}
 {$PACKRECORDS C}
 {$PACKRECORDS C}
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit libkinect10;
 unit libkinect10;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.SysUtils, WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses sysutils, windows;
 uses sysutils, windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 const
 const
   LibKinect = 'kinect10.dll';
   LibKinect = 'kinect10.dll';
@@ -430,7 +436,11 @@ Procedure UnloadNuiLibrary;
 
 
 implementation
 implementation
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.DynLibs;
+{$ELSE FPC_DOTTEDUNITS}
 uses dynlibs;
 uses dynlibs;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 var
 var
   LoadedLib : String;
   LoadedLib : String;

+ 7 - 0
packages/winunits-base/src/mmsystem.pp

@@ -6,7 +6,9 @@
 {*********************************} (*   LCC-win32 (c) Jacob Navia   *)
 {*********************************} (*   LCC-win32 (c) Jacob Navia   *)
                                     (*********************************)
                                     (*********************************)
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 Unit MMSystem;
 Unit MMSystem;
+{$ENDIF FPC_DOTTEDUNITS}
 {$ifndef NO_SMART_LINK}
 {$ifndef NO_SMART_LINK}
   {$smartlink on}
   {$smartlink on}
 {$endif}
 {$endif}
@@ -16,8 +18,13 @@ Unit MMSystem;
   {$define UNICODE}
   {$define UNICODE}
 {$endif}
 {$endif}
 interface
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+ WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
  windows;
  windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Type
 Type
     MMRESULT   = UINT;
     MMRESULT   = UINT;

+ 8 - 1
packages/winunits-base/src/multimon.pp

@@ -26,7 +26,9 @@
 // Copyright (c) Microsoft Corporation. All rights reserved.
 // Copyright (c) Microsoft Corporation. All rights reserved.
 //
 //
 //=============================================================================
 //=============================================================================
+{$IFNDEF FPC_DOTTEDUNITS}
 unit MultiMon;
 unit MultiMon;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
 
 
@@ -36,8 +38,13 @@ unit MultiMon;
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
   Windows;
   Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 //
 //
 // If we are building with Win95/NT4 headers, we need to declare
 // If we are building with Win95/NT4 headers, we need to declare
@@ -54,7 +61,7 @@ const
 // HMONITOR is already declared if WINVER >= 0x0500 in windef.h
 // HMONITOR is already declared if WINVER >= 0x0500 in windef.h
 // This is for components built with an older version number.
 // This is for components built with an older version number.
 type
 type
-  HMONITOR = Windows.HMonitor;
+  HMONITOR = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}Windows.HMonitor;
 
 
 const
 const
   MONITOR_DEFAULTTONULL    = $00000000;
   MONITOR_DEFAULTTONULL    = $00000000;

+ 6 - 0
packages/winunits-base/src/nb30.pp

@@ -1,9 +1,15 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 unit nb30;
 unit nb30;
+{$ENDIF FPC_DOTTEDUNITS}
 //  This module contains the definitions for portable NetBIOS 3.0
 //  This module contains the definitions for portable NetBIOS 3.0
 //  support.
 //  support.
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses windows;
 uses windows;
+{$ENDIF FPC_DOTTEDUNITS}
 {***************************************************************
 {***************************************************************
  *                                                              *
  *                                                              *
  *              Data structure templates                        *
  *              Data structure templates                        *

+ 7 - 0
packages/winunits-base/src/ole2.pp

@@ -13,12 +13,19 @@
 
 
  **********************************************************************}
  **********************************************************************}
 {$MODE OBJFPC}
 {$MODE OBJFPC}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Ole2;
 unit Ole2;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
   interface
   interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+    uses
+      WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
     uses
     uses
       windows;
       windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
     const
     const
       GUID_NULL: TGUID = (D1:$00000000;D2:$0000;D3:$0000;D4:($00,$00,$00,$00,$00,$00,$00,$00));
       GUID_NULL: TGUID = (D1:$00000000;D2:$0000;D3:$0000;D4:($00,$00,$00,$00,$00,$00,$00,$00));

+ 8 - 2
packages/winunits-base/src/oleserver.pp

@@ -1,9 +1,15 @@
 {$mode objfpc}
 {$mode objfpc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit OleServer;
 unit OleServer;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses WinApi.Windows, WinApi.Messages, WinApi.Activex, System.SysUtils, System.Classes, WinApi.Comobj;
+{$ELSE FPC_DOTTEDUNITS}
 uses Windows, Messages, ActiveX, SysUtils, Classes, ComObj;
 uses Windows, Messages, ActiveX, SysUtils, Classes, ComObj;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 type
 type
   TVariantArray = Array of OleVariant;
   TVariantArray = Array of OleVariant;
@@ -160,13 +166,13 @@ implementation
 
 
 procedure TOleServer.ConnectEvents(const Obj: IUnknown);
 procedure TOleServer.ConnectEvents(const Obj: IUnknown);
 begin
 begin
-  ComObj.InterfaceConnect(Obj, FServerData^.EventIID, FEventDispatch, FEventsConnection);
+  {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.InterfaceConnect(Obj, FServerData^.EventIID, FEventDispatch, FEventsConnection);
 end;
 end;
 
 
 
 
 procedure TOleServer.DisconnectEvents(const Obj: Iunknown);
 procedure TOleServer.DisconnectEvents(const Obj: Iunknown);
 begin
 begin
-  ComObj.InterfaceDisconnect(Obj, FServerData^.EventIID, FEventsConnection);
+  {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ComObj.InterfaceDisconnect(Obj, FServerData^.EventIID, FEventsConnection);
 end;
 end;
 
 
 
 

+ 6 - 0
packages/winunits-base/src/richedit.pp

@@ -1,5 +1,7 @@
 { Converted by H2Pas from richedit.h }
 { Converted by H2Pas from richedit.h }
+{$IFNDEF FPC_DOTTEDUNITS}
 unit RichEdit;
 unit RichEdit;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$mode objfpc}
 {$mode objfpc}
 {$calling stdcall}
 {$calling stdcall}
@@ -10,7 +12,11 @@ unit RichEdit;
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses WinApi.Messages, WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses Messages, Windows;
 uses Messages, Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$IFDEF FPC}
 {$IFDEF FPC}
 {$PACKRECORDS C}
 {$PACKRECORDS C}

+ 6 - 0
packages/winunits-base/src/shellapi.pp

@@ -30,7 +30,9 @@
   {$define UNICODE}
   {$define UNICODE}
 {$endif}
 {$endif}
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 Unit ShellApi;
 Unit ShellApi;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 //+-------------------------------------------------------------------------
 //+-------------------------------------------------------------------------
 //
 //
@@ -47,7 +49,11 @@ Unit ShellApi;
 
 
 Interface
 Interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses WinApi.Windows, WinApi.Activex;
+{$ELSE FPC_DOTTEDUNITS}
 Uses Windows, ActiveX;
 Uses Windows, ActiveX;
+{$ENDIF FPC_DOTTEDUNITS}
   {
   {
     shellapi.h -  SHELL.DLL functions, types, and definitions
     shellapi.h -  SHELL.DLL functions, types, and definitions
     Copyright (c) Microsoft Corporation. All rights reserved.             }
     Copyright (c) Microsoft Corporation. All rights reserved.             }

+ 7 - 0
packages/winunits-base/src/shfolder.pp

@@ -27,12 +27,19 @@
   systems.
   systems.
   ---------------------------------------------------------------------}
   ---------------------------------------------------------------------}
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 Unit shfolder;
 Unit shfolder;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Interface
 Interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses
+  WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 Uses
 Uses
   windows;
   windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Const
 Const
   LibName = 'SHFolder.dll';
   LibName = 'SHFolder.dll';

+ 7 - 0
packages/winunits-base/src/shlobj.pp

@@ -14,7 +14,9 @@
 
 
 }
 }
 {$mode objfpc}
 {$mode objfpc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit shlobj;
 unit shlobj;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 
 
@@ -22,8 +24,13 @@ interface
   {$define UNICODE}
   {$define UNICODE}
 {$endif}
 {$endif}
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+      WinApi.Windows,WinApi.Activex,WinApi.Shellapi,WinApi.Commctrl;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
       windows,activex,shellapi,commctrl;
       windows,activex,shellapi,commctrl;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Const
 Const
    IID_IShellExtInit   : TGUID ='{000214E8-0000-0000-C000-000000000046}';
    IID_IShellExtInit   : TGUID ='{000214E8-0000-0000-C000-000000000046}';

+ 6 - 0
packages/winunits-base/src/shlwapi.pp

@@ -1,4 +1,6 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 unit shlwapi;
 unit shlwapi;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {
 {
     This file is part of the Free Pascal run time library.
     This file is part of the Free Pascal run time library.
@@ -18,7 +20,11 @@ unit shlwapi;
 interface
 interface
 {$mode delphi}
 {$mode delphi}
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses WinApi.Windows,WinApi.Activex;
+{$ELSE FPC_DOTTEDUNITS}
 Uses Windows,ActiveX;
 Uses Windows,ActiveX;
+{$ENDIF FPC_DOTTEDUNITS}
   const
   const
     SHLWAPIDLL='shlwapi.dll'; {Setup as you need}
     SHLWAPIDLL='shlwapi.dll'; {Setup as you need}
 
 

+ 13 - 3
packages/winunits-base/src/stdole2.pas

@@ -1,4 +1,6 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 Unit StdOle2;
 Unit StdOle2;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 //  Imported on 24/12/2011 13:43:11 from C:\WINDOWS\system32\stdole2.tlb
 //  Imported on 24/12/2011 13:43:11 from C:\WINDOWS\system32\stdole2.tlb
 //  Modified by Ludo Brands to remove redeclarations
 //  Modified by Ludo Brands to remove redeclarations
@@ -10,7 +12,11 @@ Unit StdOle2;
 {$mode delphi}{$H+}
 {$mode delphi}{$H+}
 
 
 interface
 interface
+{$IFDEF FPC_DOTTEDUNITS}
+uses WinApi.Windows, WinApi.Activex, System.Classes, WinApi.Oleserver, System.Variants;
+{$ELSE FPC_DOTTEDUNITS}
 uses Windows, ActiveX, Classes, OleServer, Variants;
 uses Windows, ActiveX, Classes, OleServer, Variants;
+{$ENDIF FPC_DOTTEDUNITS}
 Const
 Const
   stdoleMajorVersion = 2;
   stdoleMajorVersion = 2;
   stdoleMinorVersion = 0;
   stdoleMinorVersion = 0;
@@ -46,10 +52,10 @@ Const
 //Forward declarations
 //Forward declarations
 Type
 Type
  // for activex aliases see mantis 25907
  // for activex aliases see mantis 25907
- IEnumVARIANT = ActiveX.IEnumVariant;
- IFont = ActiveX.IFont;
+ IEnumVARIANT = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ActiveX.IEnumVariant;
+ IFont = {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ActiveX.IFont;
  Font = dispinterface;
  Font = dispinterface;
- IPicture =  ActiveX.IPicture;
+ IPicture =  {$IFDEF FPC_DOTTEDUNITS}WinApi.{$ENDIF}ActiveX.IPicture;
  Picture = dispinterface;
  Picture = dispinterface;
  FontEvents = dispinterface;
  FontEvents = dispinterface;
 
 
@@ -154,7 +160,11 @@ Type
 
 
 implementation
 implementation
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses WinApi.Comobj;
+{$ELSE FPC_DOTTEDUNITS}
 uses comobj;
 uses comobj;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 class function CoStdFont.Create: Font;
 class function CoStdFont.Create: Font;
 begin
 begin

+ 7 - 0
packages/winunits-base/src/typelib.pas

@@ -1,4 +1,6 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 unit typelib;
 unit typelib;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
 
 
@@ -36,8 +38,13 @@ unit typelib;
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  System.Classes, System.SysUtils,WinApi.Comobj,WinApi.Activex,WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
   Classes, SysUtils,comobj,activex,windows;
   Classes, SysUtils,comobj,activex,windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 // Style of input ref parameters:
 // Style of input ref parameters:
 Type
 Type

+ 7 - 0
packages/winunits-base/src/urlmon.pp

@@ -6,12 +6,19 @@
   Copyright (c) Microsoft Corporation. All rights reserved.
   Copyright (c) Microsoft Corporation. All rights reserved.
 }
 }
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 Unit urlmon;
 Unit urlmon;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Interface
 Interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses
+  WinApi.Windows, WinApi.Activex;
+{$ELSE FPC_DOTTEDUNITS}
 Uses
 Uses
   windows, activex;
   windows, activex;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Const
 Const
   liburlmon = 'urlmon.dll';
   liburlmon = 'urlmon.dll';

+ 7 - 0
packages/winunits-base/src/uxtheme.pp

@@ -38,7 +38,9 @@
 {                                                                              }
 {                                                                              }
 {******************************************************************************}
 {******************************************************************************}
 
 
+{$IFNDEF FPC_DOTTEDUNITS}
 unit UxTheme;
 unit UxTheme;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
 
 
@@ -48,8 +50,13 @@ unit UxTheme;
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses
+  WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses
 uses
   Windows;
   Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 // this file is in uxtheme under Delphi, while a separate one in apilib
 // this file is in uxtheme under Delphi, while a separate one in apilib
 {$i tmschema.inc}
 {$i tmschema.inc}

+ 6 - 0
packages/winunits-base/src/winhttp.pp

@@ -24,11 +24,17 @@
       Contains manifests, macros, types and prototypes for Windows HTTP Services
       Contains manifests, macros, types and prototypes for Windows HTTP Services
 
 
 }	
 }	
+{$IFNDEF FPC_DOTTEDUNITS}
 unit WinHTTP;
 unit WinHTTP;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 uses Windows;
 uses Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {
 {
   Automatically converted by H2Pas 1.0.0 from winhttp.h
   Automatically converted by H2Pas 1.0.0 from winhttp.h

+ 6 - 0
packages/winunits-base/src/wininet.pp

@@ -1,4 +1,6 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 unit WinINet;
 unit WinINet;
+{$ENDIF FPC_DOTTEDUNITS}
 //+-------------------------------------------------------------------------
 //+-------------------------------------------------------------------------
 //
 //
 //  Microsoft Windows
 //  Microsoft Windows
@@ -22,7 +24,11 @@ unit WinINet;
 
 
 interface
 interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 Uses Windows;
 Uses Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 {$ifdef win64}
 {$ifdef win64}
   {$packrecords 8}
   {$packrecords 8}

+ 7 - 0
packages/winunits-base/src/winspool.pp

@@ -1,4 +1,6 @@
+{$IFNDEF FPC_DOTTEDUNITS}
 unit Winspool;
 unit Winspool;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 interface
 interface
 
 
@@ -8,8 +10,13 @@ interface
 {$smartlink on}
 {$smartlink on}
 {$endif}
 {$endif}
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+  uses
+    System.CTypes,WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
   uses
   uses
     ctypes,windows;
     ctypes,windows;
+{$ENDIF FPC_DOTTEDUNITS}
 {
 {
   Automatically converted by H2Pas 1.0.0 from winspool.h
   Automatically converted by H2Pas 1.0.0 from winspool.h
   The following command line parameters were used:
   The following command line parameters were used:

+ 6 - 0
packages/winunits-base/src/winutils.pp

@@ -14,11 +14,17 @@
  **********************************************************************}
  **********************************************************************}
 
 
 {$mode objfpc}{$H+}
 {$mode objfpc}{$H+}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit WinUtils;
 unit WinUtils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Interface
 Interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses WinApi.Windows, WinApi.Comobj, WinApi.Activex;
+{$ELSE FPC_DOTTEDUNITS}
 Uses Windows, ComObj, ActiveX;
 Uses Windows, ComObj, ActiveX;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 // returns True if the currently logged Windows user has Administrator rights. Delphi.about.com
 // returns True if the currently logged Windows user has Administrator rights. Delphi.about.com
 // From Delphi.about.com with permission, http://delphi.about.com/od/delphitips2007/qt/is_win_admin.htm
 // From Delphi.about.com with permission, http://delphi.about.com/od/delphitips2007/qt/is_win_admin.htm

+ 10 - 0
packages/winunits-base/src/winver.pp

@@ -14,11 +14,17 @@
  **********************************************************************}
  **********************************************************************}
 
 
 {$mode objfpc}
 {$mode objfpc}
+{$IFNDEF FPC_DOTTEDUNITS}
 unit WinVer;
 unit WinVer;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 Interface
 Interface
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+Uses WinApi.Windows;
+{$ELSE FPC_DOTTEDUNITS}
 Uses Windows;
 Uses Windows;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 const
 const
   Win32Platform     : Integer = 0;
   Win32Platform     : Integer = 0;
@@ -34,7 +40,11 @@ function CheckWin32Version(Major : Integer): Boolean;
 Implementation
 Implementation
 
 
 
 
+{$IFDEF FPC_DOTTEDUNITS}
+uses System.SysUtils;
+{$ELSE FPC_DOTTEDUNITS}
 uses sysutils;
 uses sysutils;
+{$ENDIF FPC_DOTTEDUNITS}
 
 
 procedure InitVersion;
 procedure InitVersion;