+ Exception.GetBaseException

This commit is contained in:
florian 2021-11-23 23:01:06 +01:00
parent b0459a19f4
commit 18e0979379
2 changed files with 18 additions and 3 deletions

View File

@ -119,7 +119,9 @@ type
constructor CreateResHelp(ResString: PString; AHelpContext: Longint);
constructor CreateResFmtHelp(ResString: PString; const Args: array of const;
AHelpContext: Longint);
Function ToString : String; override;
Function ToString : String; override;
function GetBaseException : Exception;virtual;
property HelpContext : longint read fhelpcontext write fhelpcontext;
property Message : string read fmessage write fmessage;
@ -271,7 +273,7 @@ generic function IfThen<T>(val:boolean;const iftrue:T; const iffalse:T) :T; inli
Var
OnShowException : Procedure (Msg : ShortString);
Const
HexDisplayPrefix : string = '$';
@ -326,7 +328,7 @@ Type
{ Type Helpers}
{$i syshelph.inc}
procedure FreeAndNil(var obj);
procedure FreeMemAndNil(var p);

View File

@ -254,6 +254,19 @@ end;
end;
function Exception.GetBaseException : Exception;
var
_ExceptObjectStack : PExceptObject;
begin
_ExceptObjectStack:=RaiseList;
While Assigned(_ExceptObjectStack) do
begin
result:=Exception(_ExceptObjectStack^.FObject);
_ExceptObjectStack:=_ExceptObjectStack^.Next;
end;
end;
Constructor EVariantError.CreateCode (Code : longint);
begin
case Code of