Zitat:
For AnzahlN:=1 to AnzahlN do
Das dürfte wohl ein Tippfehler sein. Also werde ich es mal so stehen lassen.
Du solltest die Nummerrierung vielleicht auf 0..Anzahl-1 ändern, damit du nicht durcheinander kommst, da alle von Borland bereitgestellten Funktionen auf diese Art benutzen.
Der Typecast nach TButton ist nicht nötig, da jede Komponente auch die Methode .Free besitzt, die den passenden Destructor aufruft.
Zitat:
Gibt es da vielleicht irgendeine Methode die überprüft, ob ein Objekt existiert?
Ja. FindComponent liefert
nil, wenn die Komponente nicht vorhanden ist. Und die Methode .Free überprüft vor dem Destruktor-Aufruf, ob das Objekt vorhanden ist, also ungleich
nil ist.
(Der
as Operator produziert bei "nil as TButton" eine EInvalidCast
Exception)
Delphi-Quellcode:
for ButtonNummer := 1 to AnzahlN do
FindComponent('Button' + IntToStr(ButtonNummer)).Free;