Einzelnen Beitrag anzeigen

Edelfix

Registriert seit: 6. Feb 2015
Ort: Stadtoldendorf
214 Beiträge
 
Delphi 10.4 Sydney
 
#1

EAccessViolation mit StringListe

  Alt 17. Mai 2017, 08:59
Hallo.

Ich habe eine Situation die ich leider nicht nachvollziehen kann.
Es geht um eine Access Vialotion in eine Quelcode Zeile die nur ab und zu kommt.
Ich konnte den Fehler noch nicht nachstellen. Nur Nachträglich im LogFile auslesen.

Die abgekürzte fassung der Funktion:

Delphi-Quellcode:
Function TDMAng.CheckRV(RD:TStringList;var errlist:TStringList):boolean;
begin
  result:=true;
  if not assigned(errlist) then errlist:=TStringList.Create;
  errlist.Clear;
  
  //viele Prüfungen ...
  
  if bPasstNicht then
    errlist.Add('"215","'+'Hinweis: '+'Passt nicht!')

  //viele Prüfungen...
   
  result:= errlist.count=0;
end;
Die Fehlermeldung:

madExcept version : 4.0.12
callstack crc : $00000000, $48d61ed6, $48d61ed6
exception number : 1
exception class : EAccessViolation
exception message : Zugriffsverletzung bei Adresse 00000000. Lesen von Adresse 00000000.

Dei Fehlerzeile ist mal "errlist.Clear;" oder "result:= errlist.count=0;".

Ich vermute das die Prüfung "if not assigned(errlist)" manchmal nicht greift.

Kann man die Funktion irgendwie optimieren?
  Mit Zitat antworten Zitat