А для того, что бы потом различать, какой именно контрол вызвал событие,
можно делать так
Код:
type
TForm1 = class(TForm)
...
RTag:Integer;
...
procedure RunTimeButtonClick(Sender : TObject);
end;
...
procedure TForm1.RunTimeButtonClick(Sender : TObject);
var
IndexOfButton:Integer;
begin
IndexOfButton:=TConmponent(Sender).Tag;//<<==--
ShowMessage('Run-time event handler :'+IntToStr(IndexOfButton));
end;
...
RTButton := TButton.Create(Self);
RTButton.Tag := RTag; Inc(RTag);//<<==--