Zitat von
Sereby:
wenn ich das aber bei ondestroy mache, dann muss ich der procedure von jeder checkedlistbox die eigenschaft items übergeben.
aber genau das will ich automatisiert haben, sodass ich das nicht bei jeder checklistbox machen muss.
Ja schon, aber schau mal du hast jetzt das Reservieren von Speicher und das Freigeben an zwei unterschiedlichen Stellen.
Es geht die Checklistbox doch gar nix an, was in Items.Objects[] gespeichert ist.
Wenn du 4 Checklistboxen auf diese Weise benützt, dann steht halt im OnDestroy ungefähr das:
Delphi-Quellcode:
procedure TForm1.FormDestroy(Sender:TObject);
begin
DisposeTStrings(Checklistbox1.Items);
DisposeTStrings(Checklistbox2.Items);
DisposeTStrings(Checklistbox3.Items);
DisposeTStrings(Checklistbox4.Items);
...
end;
Das ist eine saubere und klare Sache. Vielleicht willst du auch mal statt Records richtige Objekte in Items.Objects[] ablegt - dann kommst du mit destructor TCheckListBox.Destroy aber ins Schleudern.