![]() |
AW: Nach Timer.Enable killt sich das Programm
Du kannst dir in FastMM auch live anzeigen was so im Speicher passiert. Dazu findest du im FastMM4 Ordner auch eine Demo, deren Formular du einfach einbinden kannst. Die liegt unter: FastMM\Demos\Usage Tracker
Das hilft in solchen Fällen oft mehr als nur die Leckanzeige beim Beenden des Prozesses. |
AW: Nach Timer.Enable killt sich das Programm
Liste der Anhänge anzeigen (Anzahl: 1)
Heute um 5:56 passierte zum Zeitpunkt TimerEx1.Enable:=true folgendes:
Zitat:
Zitat:
Es ist aber absolut sicher, dass durch das Starten des Timers der Fehler ausgelöst wird (siehe Bild). Die Fragen sind: - Gibt es eine andere Möglichkeit - ohne Timer - dei Hauptschleife zyklisch durchlaufen zu lassen - Wie findet man einen kernel32-Fehler, der praktisch alles sein kann Das habe ich in einem US-Forum gefunden und werde es probieren: Zitat:
![]() |
AW: Nach Timer.Enable killt sich das Programm
.. hast Du madExcept zur Verfügung?
Mit den madExcept Daten ist oftmals einfacher den Grund einer Exception zu ergründen. Grüße Klaus |
AW: Nach Timer.Enable killt sich das Programm
Zitat:
SetTimer, KillTimer Zitat:
Thread, CreateWaitableTimer, WaitForSingleObject, PostThreadMessage usw.. |
AW: Nach Timer.Enable killt sich das Programm
Wenn ich tief in meine Glaskugel schau, hab ich diese Hypothese:
Direkte Fehlerursache ist ein Überlauf des Aufrufstapels. Wenn der Timer im OnTimer-Ereignis wieder angeschalten wird, wird an dieser Stelle möglicherweise OnTimer sofort wieder aufgerufen. So dass Hauptschleife() sich indirekt selbst rekursiv aufruft, immer wieder, bis der Stapel überläuft. Ein Tool wie madExcept könnte da Klarheit schaffen. Alternative zum Ab- und Anschalten des Timers hab ich weiter oben gepostet. Du müsstest halt mal probieren ob das hilft. |
AW: Nach Timer.Enable killt sich das Programm
Zitat:
Die Schleife dauert halt nun 30 sec., aber wenn's hilft ;) |
AW: Nach Timer.Enable killt sich das Programm
Zitat:
Ich vermute, der Fehler ist unabhängig von dem Timer. |
AW: Nach Timer.Enable killt sich das Programm
Zitat:
Zitat:
Delphi-Quellcode:
procedure THauptformular.Hauptschleife(Owner: TObject);
var zaehler: shortint; Begin begin inc (Hauptschleifencounter,1); Ereignis_notieren('HS 1. Start Hauptschleife - '+inttostr(Hauptschleifencounter)); SchleifenBar.position:=11-Hauptschleifencounter; .... Display_aktualisieren(nil); CounterStart(nil); end; //if Hauptschleifencounter > 10 end; // **** **** **** **** **** **** **** **** **** **** procedure THauptformular.CounterStart(Owner: TObject); Begin Ereignis_notieren('--- TimerEx1.Enabled:=True'); TimerEx1.Enabled:=True; end; |
AW: Nach Timer.Enable killt sich das Programm
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
madExcept ist seit heute implementiert ![]() |
AW: Nach Timer.Enable killt sich das Programm
Liste der Anhänge anzeigen (Anzahl: 3)
Keine Mitteilung von madExcept. Nichts...
Auffällig ist, dass die letzte Eintragung immer der Timerist und der Crash stets um 5:56 bzw. 5:58 passiert. ![]() ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 02:39 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