Hallo!
Habe folgende Aufgabenstellung:
a) Erstelle dynamische Buttons auf einem Layout
b) Beim Klick auf einen der neu generieren Buttons führe Schritt a) aus
Klar ist, das ich beim Freigeben auch den aktuell geklickten Button zerstören muss ->
Exception -> logisch
Wie kann man das "umschiffen"?
Delphi-Quellcode:
type barray = Array of TButton;
var btns: barray;
procedure TForm1.abtnClick(Sender: TObject);
var i: Integer;
begin
for i := length(btns) - 1 downto 0 do btns[i].Free;
SetLength(btns, 0);
for i := 0 to random(9) + 1 do
begin
btns[i] := TButton.Create(nil);
btns[i].name := 'abutton' + IntToStr(i);
btns[i].text := 'Button' + IntToStr(i+1);
btns[i].Parent := GridLayout1;
btns[i].OnClick := abtnClick;
end;
end;