Browse Source

TFileStream: use SysErrorMessage in exception message if available

git-svn-id: trunk@44200 -
ondrej 5 years ago
parent
commit
a5ed5bd942
1 changed files with 12 additions and 0 deletions
  1. 12 0
      rtl/objpas/classes/streams.inc

+ 12 - 0
rtl/objpas/classes/streams.inc

@@ -1276,9 +1276,21 @@ begin
 
   If (THandle(FHandle)=feInvalidHandle) then
     If Mode=fmcreate then
+    begin
+      {$if declared(GetLastOSError)}
+      raise EFCreateError.createfmt(SFCreateErrorEx,[AFileName, SysErrorMessage(GetLastOSError)])
+      {$else}
       raise EFCreateError.createfmt(SFCreateError,[AFileName])
+      {$endif}
+    end
     else
+    begin
+      {$if declared(GetLastOSError)}
+      raise EFOpenError.Createfmt(SFOpenErrorEx,[AFilename, SysErrorMessage(GetLastOSError)]);
+      {$else}
       raise EFOpenError.Createfmt(SFOpenError,[AFilename]);
+      {$endif}
+    end;
 end;