Einzelnen Beitrag anzeigen

Pelzi

Registriert seit: 26. Okt 2005
Ort: Kiel
13 Beiträge
 
Delphi 7 Personal
 
#1

Buttons dynamisch erstellen

  Alt 27. Feb 2006, 18:15
Hi,
Ich brauche für ein programm sehr viele Buttons auf meinem Formular, deswegen hab ich mir überlegt das es das einfachste wäre die Buttons dynamishc zu erstellen. Schön und gut innen bischen in Klassen in Delphi eingelesen, und schnell herausgefunden wie man Komponenten dynamisch erstellt, dachte ich.
Mit dem dynamischen erstellen von Formularen klappt es so ja auch problemlos:
Delphi-Quellcode:
var
  Form1: TForm1;
  forms: array[0..20] of TForm;
[......]
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i:Integer;
begin
  for i:=0 to 20 do
  begin
    forms[i]:=TForm.create(form1);
    forms[i].Visible:=true;
    forms[i].Left:=i*40;
  end;
end;
Das funktioniert ohne Probleme.
Nun stelle icha ber diesen code auf Buttons um:

Delphi-Quellcode:
var
  Form1: TForm1;
  buttons: array[0..20] of TButton;
[......]
Delphi-Quellcode:
procedure TForm1.FormCreate(Sender: TObject);
var i:Integer;
begin
  for i:=0 to 20 do
  begin
    buttons[i]:=TButton.create(form1);
    buttons[i].Visible:=true;
    buttons[i].Left:=i*40;
  end;
end;
Wenn ich nun das nun Compeliere sagt er mir zunächst:
Zitat:
[Fehler] Unit1.pas(19): Undefinierter Bezeichner: 'TButton'
Das lässt sich aber beheben in dem ich einen button auf dem Formular erstelle un ihn wieder lösche.
Nun gibt es zwar keine Fehlermeldungen mehr, aber es passiert aber auch nciht das gewünschte.
Es passiert nämlich genau garnichts, außer das nach realtiv langer Compelier Zeit für ein so kleines Programm ein leeres Fenster erscheint.
Woran liegt das?
Und wie funktioniert es?

pelzi
  Mit Zitat antworten Zitat