![]() |
AW: Close; im TTimer lässt Programm manchmal abschmieren
Der Fehler kommt jetzt wieder seltener :roll:
Aber er kommt soweit ich das jetzt erst einmal erkennen konnte nur wenn ich Timer1 aktiviere, welche das Programm schließt. Vom Close kommt der Fehler wohl auch nicht sondern es passiert genau zwischen Ende Timer_Arbeit und If-Eintrittspunkt Timer1 :evil: |
AW: Close; im TTimer lässt Programm manchmal abschmieren
Du hast mit dem Debugger ein mächtiges Werkzeug. Nutze es.
|
AW: Close; im TTimer lässt Programm manchmal abschmieren
-Warum ist der Post nach dem Bearbeiten hier plötzlich doppelt?-
Zitat:
Der Fehler tritt wohl hier auf. Er tritt manchmal auf aber nicht immer: - Classes.pas
Delphi-Quellcode:
Ich werde mal meine Listen überprüfen.
procedure TList.Delete(Index: Integer);
var Temp: Pointer; begin if (Index < 0) or (Index >= FCount) then // <== // ... Beim Beenden der Anwendung gibt es aber keine Speicherlecks. ------------- Ich glaube den Fehler jetzt mit dem Debugger gefunden zu haben. Ich werde jetzt für etwa eine Stunde Tests durchführen und dann Feierabend machen. Ich melde mich dann hier im selben Beitrag zurück. ------------- 112 automatisierte Tests am Stück später. Ich denke ich kann sagen, dass der Fehler behoben ist. Es war nicht das Close-Event und auch kein Timer. Hier wurde ich vom System auf die falsche Spur geschickt. Es war einfach nur eine TList, aus welcher doppelt Items gelöscht wurden. Dass das aber in einem APPCRASH resultiert und nicht in einer normalen Exception, war ein bisschen seltsam. |
AW: Close; im TTimer lässt Programm manchmal abschmieren
Zitat:
|
AW: Close; im TTimer lässt Programm manchmal abschmieren
Zitat:
Aktuell frage ich nur ab, ob die Liste ungleich nil ist und dann werden alle Einträge von Count-1 bis 0 gelöscht. Ich denke ein Assigned() sollte hier reichen. Oder ich überdenke mal diese Prozedur und baue sie so, dass sie nur einmalig aufgerufen wird. Ist ja auch Blödsinn zwei Aufrufe. |
AW: Close; im TTimer lässt Programm manchmal abschmieren
Zitat:
Und warum "mache ich dann mal später"? Hättest du s gleich richtig gemacht hättest du dir zwei Tage Fehlersuche erspart. |
AW: [Behoben, siehe Beitrag #13] Close; im TTimer lässt Programm manchmal abschmieren
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:27 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz