* Fix TDateTimeInfoRec

This commit is contained in:
Michaël Van Canneyt 2023-01-23 18:09:43 +01:00
parent 735fd20a6a
commit 0bad315daf
2 changed files with 33 additions and 27 deletions

View File

@ -50,29 +50,6 @@ Type
// The actual unicode search record // The actual unicode search record
{ TDateTimeInfoRec }
TDateTimeInfoRec = record
private
{$IFDEF SEARCHREC_USEFINDDATA}
Data: TFindData platform;
{$ENDIF }
{$IFDEF UNIX}
{$ifdef USE_STATX}
data : tstatx platform;
{$else}
data : baseunix.stat platform;
{$endif USE_STATX}
{$ENDIF UNIX}
function GetCreationTime: TDateTime;
function GetLastAccessTime: TDateTime;
function GetTimeStamp: TDateTime;
public
property CreationTime: TDateTime read GetCreationTime;
property LastAccessTime: TDateTime read GetLastAccessTime;
property TimeStamp: TDateTime read GetTimeStamp;
end;
{ TUnicodeSearchRec } { TUnicodeSearchRec }
TUnicodeSearchRec = Record TUnicodeSearchRec = Record
@ -167,6 +144,35 @@ Type
TSymLinkRec = TRawbyteSymLinkRec; TSymLinkRec = TRawbyteSymLinkRec;
{$ENDIF} {$ENDIF}
{ TDateTimeInfoRec }
TDateTimeInfoRec = record
private
{$IFDEF SEARCHREC_USEFINDDATA}
Data: TFindData platform;
{$ELSE}
{$IFDEF UNIX}
{$IFDEF USE_STATX}
data : tstatx platform;
{$ELSE}
data : baseunix.stat platform;
{$ENDIF USE_STATX}
{$ELSE}
data : TSearchRec;
{$ENDIF}
{$ENDIF SEARCHREC_USEFINDDATA}
function GetCreationTime: TDateTime;
function GetLastAccessTime: TDateTime;
function GetTimeStamp: TDateTime;
public
property CreationTime: TDateTime read GetCreationTime;
property LastAccessTime: TDateTime read GetLastAccessTime;
property TimeStamp: TDateTime read GetTimeStamp;
end;
Const Const
{ File attributes } { File attributes }

View File

@ -697,13 +697,13 @@ end;
function FileGetDateTimeInfo(const FileName: string; function FileGetDateTimeInfo(const FileName: string;
out DateTime: TDateTimeInfoRec; FollowLink: Boolean = True): Boolean; out DateTime: TDateTimeInfoRec; FollowLink: Boolean = True): Boolean;
var var
Data: TWin32FindData; Data: TWin32FindDataW;
FN: string; FN: unicodestring;
begin begin
Result := False; Result := False;
SetLastError(ERROR_SUCCESS); SetLastError(ERROR_SUCCESS);
FN:=FileName; FN:=FileName;
if Not GetFileAttributesEx(PAnsiChar(FileName), GetFileExInfoStandard, @Data) then if Not GetFileAttributesExW(PWideChar(FileName), GetFileExInfoStandard, @Data) then
exit; exit;
if ((Data.dwFileAttributes and faSymlink)=faSymlink) then if ((Data.dwFileAttributes and faSymlink)=faSymlink) then
begin begin
@ -712,7 +712,7 @@ begin
FN:=FollowSymlink(FileName); FN:=FollowSymlink(FileName);
if FN='' then if FN='' then
exit; exit;
if not GetFileAttributesEx(PAnsiChar(FN), GetFileExInfoStandard, @Data) then if not GetFileAttributesExW(PWideChar(FN), GetFileExInfoStandard, @Data) then
exit; exit;
end; end;
end; end;