du könntest zwar 'ne Globale Variable verwenden
Delphi-Quellcode:
var LogChange: Boolean = False;
procedure TForm1.memo_LogChange(Sender: TObject);
var a:integer;
begin
If LogChange Then Exit;
LogChange := True;
a:=memo_log.Lines.Count-1;
memo_log.Lines[a]:=datetimetostr(now)+': '+memo_log.Lines[a];
LogChange := False;
end;
, oder etwas vom Memo misshandeln
Delphi-Quellcode:
procedure TForm1.memo_LogChange(Sender: TObject);
var a:integer;
begin
If memo_log.Tag <> 0 Then Exit;
memo_log.Tag := 1;
a:=memo_log.Lines.Count-1;
memo_log.Lines[a]:=datetimetostr(now)+': '+memo_log.Lines[a];
memo_log.Tag := 0;
end;
und somit dieses verhindern, oder du machst 'ne Prozedure
Delphi-Quellcode:
Procedure AddLog(S: String);
Begin
memo_log.Lines.Add(datetimetostr(now) + ': ' + S;
End;
und verwendest diese überall, wo ein Ereignis eingetragen wird.