Chcę wykonywać różne polecenia po kliknięciu dynamicznie stworzonych buttonów.
Napisałem więc kod a właściwie skopiowałem go z wikibooksi:
Link: https://pl.wikibooks.org/wiki/Delphi/Dynamiczne_tworzenie_komponent%C3%B3w
Oto kluczowe fragmenty kodu:
Interface
uses ..StdCtrls;
..
type
TForm1 = class(TForm)
Label1: TLabel;
procedure FormCreate(Sender: TObject);
procedure KlikPrzycisku(Sender: TObject);
..
implementation
procedure TForm1.KlikPrzycisku(Sender: TObject);
begin
Label1.Caption:=TButton(Sender).Caption;
end;
procedure TForm1.FormCreate(Sender: TObject);
var i,n: Integer;
begin
n:=10;
for i:=1 to n do
with TButton.Create(self) do
begin
Width:=140;
Height:=40;
Left:=10;
Top:=10+i*(Height+10);
Caption:='Przycisk '+IntToStr(i);
Parent:=self;
Visible:=True;
OnClick:=@KlikPrzycisku;
end;
end;
Niestety kompilator kwestionuje ostatnią linię to znaczy OnClick:=@KlikPrzycisku;
z komunikatem:
Variable required
. Zatem jaką to zmienną potrzebuje kompilator i jak miałaby przedstawiać się ostatnia linia kodu??