Danke für die Antworten.
kann man das Problem jederzeit wieder nachvollziehen, indem man das Programm einfach so ca. eine Stunde laufen lässt.
Klingt für mich verdächtig nach einem Timeout.
Wird vielleicht die Verbindung zur
DB nach einer Stunde getrennt, wenn dort nichts gemacht wird?
Ich kann mir nicht vorstellen, dass es damit zusammenhängt. Es handelt sich dabei um eine filebasierte Datenbank und die verwenden wir schon seit mehr als 10 Jahren in dieser Art. Das Problem müsste außerdem dann nachvollziehbar sein. Desweiteren wird immer auf die Datenbank zugegriffen (alle drei Sekunden wird ein Bild abgerufen)
Ich hatte im Vorfeld schon die Vermutung, dass die Datenbank-Datei vielleicht beschädigt ist und habe diese nochmal neu kopiert und per Filehash geprüft.
Außerdem: Würde ein Timeout nicht eine vernünftige
Exception werfen, die ich dann per MadExcept angezeigt bekomme?
Die einfachste Möglichkeit den "Programm funktioniert nicht mehr"-Dialog auftreten zu lassen ist wenn eine
Exception das
OnTerminate
-Event eines Threads verlässt. Vielleicht hilft das?
Versteh ich jetzt glaub ich nicht ganz.
Du meinst also, dass in einem Thread im OnTerminate eine
Exception auftritt und diese dann eben nicht korrekt abgefangen wird. Das kann ich mal prüfen, ob da überall ein sauberes
Exception-Handlung drin ist. Würde das auch gelten, wenn OnTerminate gar nicht registriert ist?
Ist vielleicht ein Ansatz.