Die Verbindung zur Datenbank wird standardmäßig schon nach ca. 10 Minuten vom Server getrennt. Gab früher schon mal Probleme damit. Es wird in einem Timer im Hauptmenu geprüft, ob die Verbindung noch steht, wobei man sich das schenken könnte, weil vor jeden
Query die Verbindung mit ping geprüft und neu aufgebaut wird wenn es sein muss. Im Fehlerfall wird man auch ins Hauptmenu zurück geschickt. Sprich es wird ein Error zurück gegeben und nichts weiter ausgeführt. Ist inzwischen alles soweit verschachtelt. Im Prinzip muss die Verbindung nicht offen gehalten werden. Die Lib wird natürlich nicht neu eingebunden. Aber bei Free crasht es dann. Auch wenn vor Stunden und auch sonst noch alles lief.
Das assigned prüft ja auch nur auf Nil. Aber nicht, ob der Pointer noch gültig ist. Und da scheint das Problem zu sein. Die Objekte scheinen auf wundersame Weise ungültig zu werden und der Zeiger zeigt halt nur auf die Stelle die jetzt fremd belegt wird. Ich setzte auch die Pointer manuell auch Nil nach dem Free. Es sind auch nur 3 Funktionen was die Datenbank betrifft wo das passiert also recht überschaubar.