Moin Alexander,
falls vom Programmablauf her möglich könntest Du das Event ja schon bei der Erzeugung zuweisen.
Unter der Annahme, dass Du auch schon andere Toolbutton in Deinem Programm hast, nicht dynamisch erzeugt, könntest Du diesen dynamisch erzeugten einfach einen eindeutigen Namen verpassen, so dass Du über FindComponent auf diesen dann zugreifen kannst. Mal ein Beispiel:
Code:
[b]procedure[/b] TForm1.Button1Click(Sender: TObject);
[b]var[/b]
i : integer;
[b]begin[/b]
[b]for[/b] i := 0 [b]to[/b] Memo1.Lines.Count-1 [b]do[/b]
[b]begin[/b]
[b]with[/b] TToolButton.Create(Self) [b]do[/b]
[b]begin[/b]
Parent := ToolBar1;
Name := 'TBDYN_'+IntToStr(i);
[b]end[/b];
[b]end[/b];
[b]for[/b] i := 0 [b]to[/b] Memo1.Lines.Count-1 [b]do[/b]
[b]begin[/b]
[b]if[/b] FindComponent('TBDYN_'+IntToStr(i)) <> [b]nil[/b] [b]then[/b]
[b]begin[/b]
TToolButton(FindComponent('TBDYN_'+IntToStr(i))).OnClick := ToolButton1Click;
[b]end[/b];
[b]end[/b];
[b]end[/b];
[b]procedure[/b] TForm1.ToolButton1Click(Sender: TObject);
[b]begin[/b]
ShowMessage(TToolButton(Sender).Name);
[b]end[/b];
Oder Du sammelst die Button in einem array of TToolButton, und kannst dann über den Index auf diese zugreifen.