Ceci est une ancienne révision du document !
LazLogger / DebugLn
Lazarus permet d'utiliser au sein de son application un systéme de log grâce aux unités LazLogger, LazLoggerBase et LazLoggerDummy.
Les procedures
DebugLn / DebugLnEnter / DebugLnExit
DbgOut
Interception d'un DebugLn
Il peut être utile d'intercepter la procédure DebugLn
pour l'afficher au sein de l'application
- On déclare une procedure de type
TLazLoggerWriteEvent = procedure(Sender: TObject; S: string; var Handled: Boolean) of object;
- On defini la property
DebugLogger.OnDebugLn:=@MaProcedure;
- On a accés au log contenu dans la variable
S
uses ..., lazlogger, ... type TForm1 = class(TForm) ... MMDbg: TMemo; // Le TMemo qui recevra les logs ... procedure FormCreate(Sender: TObject); private procedure ReceptDebugLn(Sender: TObject; S: string; var Handled: Boolean); // La procedure d'interception public ... end; var Form1: TForm1; implementation { TForm1 } procedure TForm1.FormCreate(Sender: TObject); begin DebugLogger.OnDebugLn:=@ReceptDebugLn; end; procedure TForm1.ReceptDebugLn(Sender: TObject; S: string; var Handled: Boolean); begin MMDbg.Lines.Add(S); end;
Sources
Vous pourriez laisser un commentaire si vous étiez connecté.