From 0519ecfa8ea0c54db0abdf122569a4bd142d7fb3 Mon Sep 17 00:00:00 2001 From: martin Date: Fri, 10 Jan 2014 23:04:32 +0000 Subject: [PATCH] Merged revision(s) 43690 #b815028034 from branches/fixes_1_2: Fixed compile on wince. Broken by r43495 #cba214753b (localize special dir) git-svn-id: tags/lazarus_1_2_RC2@43691 - --- components/lazutils/lazfileutils.pas | 2 +- components/lazutils/winlazfileutils.inc | 35 +++++++++++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/components/lazutils/lazfileutils.pas b/components/lazutils/lazfileutils.pas index c169cc2b56..c5a4d9f713 100644 --- a/components/lazutils/lazfileutils.pas +++ b/components/lazutils/lazfileutils.pas @@ -136,7 +136,7 @@ implementation // to get more detailed error messages consider the os uses {$IFDEF Windows} - Windows, WinDirs; + Windows {$IFnDEF WinCE}, WinDirs{$ENDIF}; {$ELSE} {$IFDEF darwin} MacOSAll, diff --git a/components/lazutils/winlazfileutils.inc b/components/lazutils/winlazfileutils.inc index adc6a9d948..867a39959e 100644 --- a/components/lazutils/winlazfileutils.inc +++ b/components/lazutils/winlazfileutils.inc @@ -21,8 +21,10 @@ var _SetCurrentDirUtf8 : function(const NewDir: String): Boolean; _CreateDirUtf8 : function(const NewDir: String): Boolean; _RemoveDirUtf8 : function(const Dir: String): Boolean ; + {$ifndef WinCE} _GetAppConfigDirUTF8 : function(Global: Boolean; Create: boolean = false): string; _GetAppConfigFileUTF8: function(Global: Boolean; SubDir: boolean = false;CreateDir: boolean = false): string; + {$endif} @@ -127,6 +129,28 @@ begin Result := _FindNextUtf8(Rslt); end; +{$ifdef WinCE} +function GetAppConfigDirUTF8(Global: Boolean; Create: boolean = false): string; +begin + Result:=SysToUTF8(SysUtils.GetAppConfigDir(Global)); + if Result='' then exit; + if Create and not ForceDirectoriesUTF8(Result) then + raise EInOutError.Create(Format(lrsUnableToCreateConfigDirectoryS,[Result])); +end; + +function GetAppConfigFileUTF8(Global: Boolean; SubDir: boolean; + CreateDir: boolean): string; +var + Dir: string; +begin + Result:=SysToUTF8(SysUtils.GetAppConfigFile(Global,SubDir)); + if not CreateDir then exit; + Dir:=ExtractFilePath(Result); + if Dir='' then exit; + if not ForceDirectoriesUTF8(Dir) then + raise EInOutError.Create(Format(lrsUnableToCreateConfigDirectoryS,[Dir])); +end; +{$else} function GetAppConfigDirUTF8(Global: Boolean; Create: boolean = false): string; begin Result := _GetAppConfigDirUtf8(Global, Create); @@ -137,6 +161,7 @@ function GetAppConfigFileUTF8(Global: Boolean; SubDir: boolean; begin Result := _GetAppConfigFileUTF8(Global, SubDir, CreateDir); end; +{$endif} // ******** Start of AnsiString specific implementations ************ @@ -610,6 +635,7 @@ var SHGetFolderPathW : PFNSHGetFolderPathW = Nil; CFGDLLHandle : THandle = 0; +{$IFnDEF WinCE} Procedure InitDLL; Var pathBuf: array[0..MAX_PATH-1] of char; @@ -637,6 +663,7 @@ begin If (@ShGetFolderPathW=Nil) then Raise Exception.Create('Could not determine SHGetFolderPathW Function'); end; +{$endif} function GetWindowsSpecialDirW(ID : Integer) : String; Var @@ -645,6 +672,7 @@ Var Len: SizeInt; begin Result := ''; + {$IFnDEF WinCE} if (CFGDLLHandle = 0) then InitDLL; If (SHGetFolderPathW <> Nil) then @@ -661,6 +689,7 @@ begin end else Result := SysToUtf8(GetWindowsSpecialDir(ID)); + {$ENDIF} end; @@ -672,6 +701,7 @@ end; function GetAppConfigDirWide(Global: Boolean; Create: boolean = false): string; begin + {$IFnDEF WinCE} If Global then Result := GetWindowsSpecialDirW(CSIDL_COMMON_APPDATA) else @@ -687,6 +717,9 @@ begin if Result = '' then exit; if Create and not ForceDirectoriesUtf8(Result) then raise EInOutError.Create(Format(lrsUnableToCreateConfigDirectoryS,[Result])); + {$ELSE} + Result := ''; + {$ENDIF} end; function GetAppConfigFileWide(Global: Boolean; SubDir: boolean; @@ -1050,8 +1083,10 @@ begin _RemoveDirUtf8 := @RemoveDirWide; _FindFirstUtf8 := @FindFirstWide; _FindNextUtf8 := @FindNextWide; + {$ifndef WinCE} _GetAppConfigDirUtf8 := @GetAppConfigDirWide; _GetAppConfigFileUtf8 := @GetAppConfigFileWide; + {$endif} end; end;