Ich würde behaupten, dass irgendwo am Ende auf ein Objekt zugegriffen werden soll, welches schon freigegeben wurde. Ob das nun direkt in dem Destruktor der Fall ist, kann ich dir nicht unbedingt sagen. Geh mal mit F7 das Beenden des Programms durch.
Ich kann leider nicht alles mit F7 durchsteppen, da ich 2 externe DCUs verwende. Alerdings geben die einen Fehlerstatus nach Abarbeitung der jeweiligen Prozedur zurück. Der ist immer 0, was "kein Fehler" bedeutet.
Wenn ich jedoch die Zeile mit dem
end;
im Destruktor ausführe, erhalte ich die obige Fehlermeldung (mit F8), oder es öffnet sich direkt das CPU-Fenster des Compilers (mit F7).