Achso, hier nochmal meine Profi Log-Funktion
Delphi-Quellcode:
procedure Log(ShowDateTime: Boolean; s: String);
var
LList: TStringList;
i: Integer;
begin
FLogCritSect.Enter;
try
LList := TStringList.Create;
if not IsFileInUse(AppDataPath + 'Jobs.jlf') then
begin
try
if FileExists(AppDataPath + 'Log.txt') then
LList.LoadFromFile(AppDataPath + 'Log.txt');
for i := 0 to Puffer.Count - 1 do
LList.Add(Puffer[i]);
if ShowDateTime then
LList.Add('[' + DateTimeToStr(Now) + ']: ' + s)
else
LList.Add(s);
LList.SaveToFile(AppDataPath + 'Log.txt');
finally
LList.Free;
Puffer.Text := EmptyStr;
end;
end
else if ShowDateTime then
Puffer.Add('[' + DateTimeToStr(Now) + ']: ' + s)
else
Puffer.Add(s);
finally
FLogCritSect.Leave;
end;
end;
Wenn man in der SendMail-Prozedur eine Zeile hinzufügt funktioniert alles:
Delphi-Quellcode:
{ ... }
Log(False, ''); // Löst alle Probleme
for i := 0 to High(Events) do
if Events[i].Mail = Jobs[JobID].Mail then
begin
{ ... }
end;
{ ... }
Allerdings soll das nicht die Lösung sein... Ich melde mich nochmal!
Gruß