@himitsu:
Oh ![Laughing](images/smilies/icon_lol.gif)
Danke für den Hinweiß. Das ist ein altes Projekt von mir, was ich etwas umgestellt habe. Hat immer gut funktioniert und mir ist der Fehler nie aufgefallen
![Rolling Eyes](images/smilies/icon_rolleyes.gif)
Ja, man könnte es auch mit AssignFile+Append+WriteLn... War einfach zufaul das mal in Angriff zu nehmen
@Blup: Habe nur das wichtigste gezeigt. Es läuft alles in CriticalSections
Und ich habe erste Ergebnisse beim Debugging (hatte erst heute Mittag Zeit - jaja, das Schüler sein
![Rolling Eyes](images/smilies/icon_rolleyes.gif)
):
Delphi-Quellcode:
procedure TMailThread.SendMail(JobID: Integer);
var
i: Integer;
MMail: TStringList;
ID: String;
begin
{ ... }
Log(False, ''); { Wenn diese Zeile "aktive" ist, läuft alles reibungslos. Ist die Zeile nicht gesetzt, kommt in der unten makierten Zeile ein Fehler beim 2. Durchlauf (6. Durchlauf der for-Schleife, 2. Durchlauf der SendMail-Prozedur ;) ) }
for i := 0 to High(Events) do
if Events[i].Mail = Jobs[JobID].Mail then
begin
MMail.Add('---');
MMail.Add(Events[i].Course + ' | ' + Events[i].Span + ' | ' +
Events[i].Status + ' | ' + Events[i].Date + ' | ' + Events[i].Note); // Fehler hier!
MMail.Add('---');
MMail.Add('');
end;
{ ... }
end;
Ich könnte mir vorstellen, warum der Fehler auftritt. Das letzte Event (i=5) hat für das Feld "Status" nur Matsch im Wert. Aber ich weiß noch nicht, wo der herkommt
![Was sagt die Glaskugel?](images/smilies/dpglaskugel.gif)
Aufjedenfall eine sehr lange Zeichenkette. Vllt. haut es deshalb nicht hin. Aber warum sollte die eine Log-Zeile das Problem lösen?