소스 검색

* Fixed for case RtlString=AnsiString.

git-svn-id: branches/unicodertl@12184 -
yury 17 년 전
부모
커밋
e64d7016c1
2개의 변경된 파일7개의 추가작업 그리고 3개의 파일을 삭제
  1. 2 2
      rtl/win/dos.pp
  2. 5 1
      rtl/win/sysutils.pp

+ 2 - 2
rtl/win/dos.pp

@@ -615,7 +615,7 @@ var
    l : longint;
 begin
   doserror:=0;
-  l:=GetFileAttributes(filerec(f).name);
+  l:=GetFileAttributes(PWideChar(UnicodeString(filerec(f).name)));
   if l=longint($ffffffff) then
    begin
      doserror:=getlasterror;
@@ -632,7 +632,7 @@ begin
   if (attr and VolumeID)<>0 then
     doserror:=5
   else
-   if SetFileAttributes(filerec(f).name,attr) then
+   if SetFileAttributes(PWideChar(UnicodeString(filerec(f).name)),attr) then
     doserror:=0
   else
     doserror:=getlasterror;

+ 5 - 1
rtl/win/sysutils.pp

@@ -156,7 +156,11 @@ function SysGetTempFileName(lpPathName:LPWSTR;
 }
 function GetTempFileName(Dir,Prefix: PRtlChar; uUnique: DWORD; TempFileName: PRtlChar):DWORD;
 begin
-  Result:=Windows.GetTempFileNameW(_W(Dir),_W(Prefix),uUnique,TempFileName);
+{$if sizeof(RtlChar)>1}
+  Result:=Windows.GetTempFileNameW(Dir,Prefix,uUnique,TempFileName);
+{$else}
+  Result:=Windows.GetTempFileNameA(Dir,Prefix,uUnique,TempFileName);
+{$endif}
 end;