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?