Browse Source

--- Merging r24447 into '.':
U packages/winunits-base/src/shlobj.pp
--- Merging r24449 into '.':
U rtl/win/wininc/struct.inc
U rtl/win/wininc/redef.inc
--- Merging r24450 into '.':
U rtl/win/wininc/base.inc

# revisions: 24447,24449,24450
r24447 | marco | 2013-05-05 11:32:24 +0200 (Sun, 05 May 2013) | 2 lines
Changed paths:
M /trunk/packages/winunits-base/src/shlobj.pp

* some {$ifdef unicode} added. + FPC_OS_UNICODE shebang.
r24449 | marco | 2013-05-05 12:23:06 +0200 (Sun, 05 May 2013) | 6 lines
Changed paths:
M /trunk/rtl/win/wininc/redef.inc
M /trunk/rtl/win/wininc/struct.inc

* corrections from Mantis #20194.
- tbitmapheader is not a redef, from redef -> struct
- some -A types had char types that were $ifdef unicode dependent. Fixed.
- some -A types had char types in numeric form (bchar), where Delphi
uses Pascal char types (ansichar)
r24450 | marco | 2013-05-05 12:25:10 +0200 (Sun, 05 May 2013) | 3 lines
Changed paths:
M /trunk/rtl/win/wininc/base.inc

* set tchar to ansichar if ifndef unicode. Probably doesn't matter, since but
reads cleaner.

git-svn-id: branches/fixes_2_6@24983 -

marco 12 years ago
parent
commit
28198be54e

+ 31 - 3
packages/winunits-base/src/shlobj.pp

@@ -16,7 +16,11 @@
 {$mode objfpc}
 {$mode objfpc}
 unit shlobj;
 unit shlobj;
 
 
-  interface
+interface
+
+{$ifdef FPC_OS_UNICODE}
+  {$define UNICODE}
+{$endif}
 
 
 uses
 uses
       windows,activex,shellapi,commctrl;
       windows,activex,shellapi,commctrl;
@@ -1126,7 +1130,17 @@ Type
      LPSHFOLDERCUSTOMSETTINGSW = PSHFOLDERCUSTOMSETTINGSW;
      LPSHFOLDERCUSTOMSETTINGSW = PSHFOLDERCUSTOMSETTINGSW;
      PLPSHFOLDERCUSTOMSETTINGSW = ^LPSHFOLDERCUSTOMSETTINGSW;
      PLPSHFOLDERCUSTOMSETTINGSW = ^LPSHFOLDERCUSTOMSETTINGSW;
      TSHFOLDERCUSTOMSETTINGSW = SHFOLDERCUSTOMSETTINGSW;
      TSHFOLDERCUSTOMSETTINGSW = SHFOLDERCUSTOMSETTINGSW;
-
+     {$ifdef unicode}
+       LPSHFOLDERCUSTOMSETTINGS  = PSHFOLDERCUSTOMSETTINGSW;
+       PLPSHFOLDERCUSTOMSETTINGS = PLPSHFOLDERCUSTOMSETTINGSW;
+       TSHFOLDERCUSTOMSETTINGS   = SHFOLDERCUSTOMSETTINGSW;
+       SHFOLDERCUSTOMSETTINGS    = SHFOLDERCUSTOMSETTINGSW;
+     {$else}
+       LPSHFOLDERCUSTOMSETTINGS  = PSHFOLDERCUSTOMSETTINGSA;
+       PLPSHFOLDERCUSTOMSETTINGS = PLPSHFOLDERCUSTOMSETTINGSA;
+       TSHFOLDERCUSTOMSETTINGS   = SHFOLDERCUSTOMSETTINGSA;
+       SHFOLDERCUSTOMSETTINGS    = SHFOLDERCUSTOMSETTINGSA;
+     {$endif}
      _browseinfoA = record
      _browseinfoA = record
           hwndOwner : HWND;
           hwndOwner : HWND;
           pidlRoot : LPCITEMIDLIST;
           pidlRoot : LPCITEMIDLIST;
@@ -1160,7 +1174,21 @@ Type
      LPBROWSEINFOW = PbrowseinfoW;
      LPBROWSEINFOW = PbrowseinfoW;
      PLPBROWSEINFOW = ^LPBROWSEINFOW;
      PLPBROWSEINFOW = ^LPBROWSEINFOW;
      TBROWSEINFOW = BROWSEINFOW;
      TBROWSEINFOW = BROWSEINFOW;
-
+     {$IFDEF UNICODE}
+     BROWSEINFO     = _browseinfoW;
+     PBROWSEINFO    = PBROWSEINFOW;
+     PPBROWSEINFO   = PPBROWSEINFOW;
+     LPBROWSEINFO   = PbrowseinfoW;
+     PLPBROWSEINFO  = PLPBROWSEINFOW;
+     TBROWSEINFO    = BROWSEINFOW;
+     {$else}
+     BROWSEINFO     = _browseinfoA;
+     PBROWSEINFO    = PBROWSEINFOA;
+     TBROWSEINFO    = BROWSEINFOA;
+     PPBROWSEINFO   = PPBROWSEINFOA;
+     LPBROWSEINFO   = PbrowseinfoA;
+     PLPBROWSEINFO  = PLPBROWSEINFOA;
+     {$endif}
      P_EnumImageStoreDATAtag = ^_EnumImageStoreDATAtag;
      P_EnumImageStoreDATAtag = ^_EnumImageStoreDATAtag;
      _EnumImageStoreDATAtag = record
      _EnumImageStoreDATAtag = record
           szPath : array[0..(MAX_PATH)-1] of WCHAR;
           szPath : array[0..(MAX_PATH)-1] of WCHAR;

+ 1 - 1
rtl/win/wininc/base.inc

@@ -260,7 +260,7 @@
      BCHAR = word;
      BCHAR = word;
 {$else}
 {$else}
      TBYTE = byte;
      TBYTE = byte;
-     TCHAR = char;
+     TCHAR = ansichar;
      BCHAR = BYTE;
      BCHAR = BYTE;
 {$endif}
 {$endif}
 
 

+ 0 - 3
rtl/win/wininc/redef.inc

@@ -69,9 +69,6 @@ type
   end;
   end;
   PMaxLogPalette = ^TMaxLogPalette;
   PMaxLogPalette = ^TMaxLogPalette;
 
 
-  TBitmapFileHeader = BITMAPFILEHEADER;
-  PBitmapFileHeader = ^TBitmapFileHeader;
-
   TOwnerDrawState = set of (
   TOwnerDrawState = set of (
     odSelected,odGrayed,odDisabled,odChecked,
     odSelected,odGrayed,odDisabled,odChecked,
     odFocused,odDefault,odHotLight,odInactive,odNoAccel,odNoFocusRect,
     odFocused,odDefault,odHotLight,odInactive,odNoAccel,odNoFocusRect,

+ 16 - 13
rtl/win/wininc/struct.inc

@@ -398,7 +398,10 @@ Const
        bfOffBits : DWord;
        bfOffBits : DWord;
      end;
      end;
      tagBITMAPFILEHEADER = BITMAPFILEHEADER;
      tagBITMAPFILEHEADER = BITMAPFILEHEADER;
-  
+
+     TBitmapFileHeader = BITMAPFILEHEADER;
+     PBitmapFileHeader = ^TBitmapFileHeader;
+
      BLOB = record
      BLOB = record
           cbSize : ULONG;
           cbSize : ULONG;
           pBlobData : ^BYTE;
           pBlobData : ^BYTE;
@@ -2027,7 +2030,7 @@ Const
      PDEVBROADCASTVOLUME = ^DEV_BROADCAST_VOLUME;
      PDEVBROADCASTVOLUME = ^DEV_BROADCAST_VOLUME;
 
 
      DEVMODEA = record
      DEVMODEA = record
-          dmDeviceName : array[0..(CCHDEVICENAME)-1] of BCHAR;
+          dmDeviceName : array[0..(CCHDEVICENAME)-1] of AnsiChar;
           dmSpecVersion : WORD;
           dmSpecVersion : WORD;
           dmDriverVersion : WORD;
           dmDriverVersion : WORD;
           dmSize : WORD;
           dmSize : WORD;
@@ -2047,7 +2050,7 @@ Const
                 dmYResolution : SmallInt;
                 dmYResolution : SmallInt;
                 dmTTOption : SmallInt;
                 dmTTOption : SmallInt;
                 dmCollate : SmallInt;
                 dmCollate : SmallInt;
-                dmFormName : array[0..(CCHFORMNAME)-1] of BCHAR;
+                dmFormName : array[0..(CCHFORMNAME)-1] of AnsiCHAR;
                 dmLogPixels : WORD;
                 dmLogPixels : WORD;
                 dmBitsPerPel : DWORD;
                 dmBitsPerPel : DWORD;
                 dmPelsWidth : DWORD;
                 dmPelsWidth : DWORD;
@@ -2707,8 +2710,8 @@ Const
 
 
      EXTLOGFONTA = record
      EXTLOGFONTA = record
           elfLogFont : LOGFONT;
           elfLogFont : LOGFONT;
-          elfFullName : array[0..(LF_FULLFACESIZE)-1] of BCHAR;
-          elfStyle : array[0..(LF_FACESIZE)-1] of BCHAR;
+          elfFullName : array[0..(LF_FULLFACESIZE)-1] of AnsiCHAR;
+          elfStyle : array[0..(LF_FACESIZE)-1] of AnsiCHAR;
           elfVersion : DWORD;
           elfVersion : DWORD;
           elfStyleSize : DWORD;
           elfStyleSize : DWORD;
           elfMatch : DWORD;
           elfMatch : DWORD;
@@ -4827,10 +4830,10 @@ Const
           tmOverhang : LONG;
           tmOverhang : LONG;
           tmDigitizedAspectX : LONG;
           tmDigitizedAspectX : LONG;
           tmDigitizedAspectY : LONG;
           tmDigitizedAspectY : LONG;
-          tmFirstChar : BCHAR;
-          tmLastChar : BCHAR;
-          tmDefaultChar : BCHAR;
-          tmBreakChar : BCHAR;
+          tmFirstChar : AnsiChar;
+          tmLastChar : AnsiChar;
+          tmDefaultChar : AnsiChar;
+          tmBreakChar : AnsiChar;
           tmItalic : BYTE;
           tmItalic : BYTE;
           tmUnderlined : BYTE;
           tmUnderlined : BYTE;
           tmStruckOut : BYTE;
           tmStruckOut : BYTE;
@@ -5208,10 +5211,10 @@ Const
           tmOverhang : LONG;
           tmOverhang : LONG;
           tmDigitizedAspectX : LONG;
           tmDigitizedAspectX : LONG;
           tmDigitizedAspectY : LONG;
           tmDigitizedAspectY : LONG;
-          tmFirstChar : BCHAR;
-          tmLastChar : BCHAR;
-          tmDefaultChar : BCHAR;
-          tmBreakChar : BCHAR;
+          tmFirstChar : AnsiChar;
+          tmLastChar : AnsiChar;
+          tmDefaultChar : AnsiChar;
+          tmBreakChar : AnsiChar;
           tmItalic : BYTE;
           tmItalic : BYTE;
           tmUnderlined : BYTE;
           tmUnderlined : BYTE;
           tmStruckOut : BYTE;
           tmStruckOut : BYTE;