Zitat von
OldGrumpy:
Abgeraeumt soll das ganze natürlich in TMyForm.FormDestroy (gebunden ans OnDestroy-Event):
Delphi-Quellcode:
procedure TMyForm.FormDestroy(Sender: TObject);
var i: integer;
Begin
[...]
for i:=0 to MyComboBox.Items.Count-1 do MyComboBox.Items.Objects[i].Free;
[...]
End;
So, und nun bin ich mal gespannt, was ich da übersehen hab
Nur ne Kleinigkeit ( das wurde aber bereits schon erwähn): vor dem Freigeben des Objekts ist keine Prüfung auf nil oder Assigned; d.h. bei einem nicht vorhandenen Objekt kann das Free durchaus ne
AV produzieren
Angepasster Cdode:
Delphi-Quellcode:
for i:= MyComboBox.Items.Count-1 downto 0 do
if Assigned(MyComboBox.Items.Objects[i]) then
MyComboBox.Items.Objects[i].Free;