Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
1. Dez 2020
Weil beim DestroyWindowHandle des Forms schon indirekt der Count der Combobox-Items auf 0 gesetzt wird und das TFrame1.Destroy ins Leere läuft; bei der manuellen Freigabe aber erst das Destroy ausgeführt wird, was dann im inherited erst die ComboBox freigibt.
Du kannst übrigens die MemoryLeaks vermeiden, wenn du das Frame schon im FormDestroy-Event freigibst anstatt auf die implizite Freigabe...
Forum: Programmieren allgemein
Delphi
by Uwe Raabe,
30. Nov 2020
Ich fürchte, mit deinem Ansatz wirst du nicht weit kommen. Die ComboBox verwaltet die ITEMDATA-Einträge selbst und offenbar werden die beim Schließen des Forms schon entfernt. Es gibt meines Wissens keinen Mechanismus um das zu umgehen ohne über OwnerDraw zu gehen. Selbst dann muss man die WM_DELETEITEM Message auch noch selbst abfangen und verarbeiten.
Wenn du die Kontrolle über die Items in...