Thema: Delphi Button Selbstzerstörung

Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Button Selbstzerstörung

  Alt 25. Aug 2015, 12:43
Mit dem IdleWorker (s. da -> http://www.delphipraxis.net/1305417-post11.html) geht das einfach so
Delphi-Quellcode:
uses
  IdleWorker;

procedure TForm1.abtnClick(Sender: TObject);
begin
  TIdleWorker.Default.Execute(
    procedure
    var
      i: Integer;
    begin
      // alte Buttons entsorgen
      for i := low(btns) to high(btns) do
        btns[i].Free; // ein DisposeOf wäre hier besser

      // neue Länge für das Array
      SetLength(btns, random(9) + 1 );

      // neue Buttons erzeugen
      for i := low(btns) to high(btns) 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 );
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat