ну, особых нюансов у меня нет если только то, что мне лениво в каждом новом проекте класть компонент и настраивать его заново, поэтому у меня есть модуль, который копируется в каждый новый проект.
А вот собственно и мой шаблон
| Код | uses Classes, Forms, SysUtils, Appevnts;
type TerrGl = class(TObject) ap: TApplicationEvents;
constructor Create; destructor Destroy; override;
procedure LogException(Sender: TObject; E: Exception); end;
var errGl: TerrGl;
implementation
{ TerrGl } // Отлов ошибок ///////////////////////////////////////////////////// constructor TerrGl.Create; begin inherited; ap:= TApplicationEvents.Create(nil); ap.OnException:= LogException; end;
destructor TerrGl.Destroy; begin FreeAndNil(ap); end;
procedure TerrGl.LogException(Sender: TObject; E: Exception); begin try .... Здесь запись в лог .... Application.ShowException(E); finally Free; end; except on e:Exception do Application.ShowException(E); end; end; /////////////////////////////////////////////////////////////////////
initialization errGl:= TerrGl.Create;
finalization if Assigned(errGl) then FreeAndNil(errGl);
| |