Hallo,
ich verstehe (natürlich) nicht Deine ganze Konstruktion. Ich finde aber nirgends Maßnahmen, die Du beim
Closing oder im
Destruktor veranlasst. Für mich sieht es so aus, als ob das Programm "selbständig" zuerst das Datenmodul auflöst und erst danach das/die Panel(s); also geht die ImageList "flöten", aber ein Panel setzt ihre Existenz noch voraus.
Verfahrensvorschlag:- Erzeuge zumindest Events, die beim Closing ausgelöst werden. (Bitte selbst suchen; ich habe ihre Delphi-Namen vergessen.)
- Löse dort per Befehl solche Verbindungen, die "gefährdet" sind.
- Steuere im MainForm und ggf. in der dpr-Datei selbst, was wann aufgelöst werden soll.
Ich hoffe, ich konnte helfen. Jürgen