Changeset 264 for ExceptionLogger/UExceptionLogger.pas
- Timestamp:
- Aug 17, 2011, 10:08:55 AM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
ExceptionLogger/UExceptionLogger.pas
r258 r264 18 18 FLogFileName: string; 19 19 function GetAppVersion: string; 20 procedure SetMaxCallStackDepth(const AValue: Integer); 20 21 procedure MakeReport; 21 procedure S etMaxCallStackDepth(const AValue: Integer);22 procedure ShowForm; 22 23 public 23 24 StackTrace: TStackTrace; 24 25 LastException: Exception; 26 ExceptionSender: TObject; 25 27 IgnoreList: TStringList; 28 procedure LoadDetails; 26 29 constructor Create(AOwner: TComponent); override; 27 30 destructor Destroy; override; … … 146 149 StackTrace.GetExceptionBackTrace; 147 150 LastException := E; 148 if Sender is TThread then TThread.Synchronize(TThread(Sender), MakeReport) 149 else MakeReport; 151 ExceptionSender := Sender; 152 if ExceptionSender is TThread then 153 TThread.Synchronize(TThread(ExceptionSender), ShowForm) 154 else ShowForm; 150 155 end; 151 156 … … 154 159 Report: TStringList; 155 160 begin 161 StackTrace.GetInfo; 156 162 if IgnoreList.IndexOf(LastException.ClassName) = -1 then begin 157 163 Report := TStringList.Create; … … 170 176 IgnoreList.Add(LastException.ClassName); 171 177 end; 178 end; 179 180 procedure TExceptionLogger.ShowForm; 181 begin 182 ExceptionForm.Logger := Self; 183 ExceptionForm.LabelMessage.Caption := LastException.Message; 184 ExceptionForm.MemoExceptionInfo.Clear; 185 if not ExceptionForm.Visible then ExceptionForm.ShowModal; 186 end; 187 188 procedure TExceptionLogger.LoadDetails; 189 begin 190 if ExceptionSender is TThread then 191 TThread.Synchronize(TThread(ExceptionSender), MakeReport) 192 else MakeReport; 172 193 end; 173 194
Note:
See TracChangeset
for help on using the changeset viewer.