|
@@ -408,27 +408,34 @@ begin
|
|
end;
|
|
end;
|
|
|
|
|
|
{$IFDEF HAS_OSERROR}
|
|
{$IFDEF HAS_OSERROR}
|
|
-Procedure RaiseLastOSError;
|
|
|
|
|
|
+Procedure RaiseLastOSError;overload;
|
|
|
|
+begin
|
|
|
|
+ RaiseLastOSError(GetLastOSError);
|
|
|
|
+end;
|
|
|
|
|
|
|
|
+Procedure RaiseLastOSError(LastError: Integer);overload;
|
|
var
|
|
var
|
|
- ECode: Cardinal;
|
|
|
|
E : EOSError;
|
|
E : EOSError;
|
|
-
|
|
|
|
begin
|
|
begin
|
|
- ECode := GetLastOSError;
|
|
|
|
- If (ECode<>0) then
|
|
|
|
- E:=EOSError.CreateFmt(SOSError, [ECode, SysErrorMessage(ECode)])
|
|
|
|
|
|
+ If (LastError<>0) then
|
|
|
|
+ E:=EOSError.CreateFmt(SOSError, [LastError, SysErrorMessage(LastError)])
|
|
else
|
|
else
|
|
E:=EOSError.Create(SUnkOSError);
|
|
E:=EOSError.Create(SUnkOSError);
|
|
- E.ErrorCode:=ECode;
|
|
|
|
|
|
+ E.ErrorCode:=LastError;
|
|
Raise E;
|
|
Raise E;
|
|
end;
|
|
end;
|
|
-{$else}
|
|
|
|
-Procedure RaiseLastOSError;
|
|
|
|
|
|
|
|
|
|
+{$else}
|
|
|
|
+Procedure RaiseLastOSError;overload;
|
|
begin
|
|
begin
|
|
Raise Exception.Create('RaiseLastOSError not implemented on this platform.');
|
|
Raise Exception.Create('RaiseLastOSError not implemented on this platform.');
|
|
end;
|
|
end;
|
|
|
|
+
|
|
|
|
+Procedure RaiseLastOSError(LastError: Integer);overload;
|
|
|
|
+begin
|
|
|
|
+ RaiseLastOSError;
|
|
|
|
+end;
|
|
|
|
+
|
|
{$endif}
|
|
{$endif}
|
|
Procedure AssertErrorHandler (Const Msg,FN : ShortString;LineNo:longint; TheAddr : pointer);
|
|
Procedure AssertErrorHandler (Const Msg,FN : ShortString;LineNo:longint; TheAddr : pointer);
|
|
Var
|
|
Var
|