Einzelnen Beitrag anzeigen

ByTheTime

Registriert seit: 24. Sep 2011
Ort: Frankfurt
297 Beiträge
 
Delphi XE2 Architect
 
#16

AW: Unerklärbare Zugriffsverletzung

  Alt 19. Mär 2014, 16:12
@himitsu: Oh 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
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 ):

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 Aufjedenfall eine sehr lange Zeichenkette. Vllt. haut es deshalb nicht hin. Aber warum sollte die eine Log-Zeile das Problem lösen?
Lukas

Geändert von ByTheTime (19. Mär 2014 um 16:16 Uhr)
  Mit Zitat antworten Zitat