Ваш код работвет
Код:
but.Tag:=i;
but.Parent:=Flowpanel1; // Что будет если поставить сюда брейк поинт F5 и запустить ?
but.Width:=120;
but.Height:=40;// создается 29 кнопок, но т.к. по коду не видно, что они в разном месте. в итоге, ты видишь последнюю.
Не знаю как проверяли, но так должно быть видно
Код:
var
i: integer;
but: tspeedButton;
begin
i := 5;
while i > 0 do
begin
but := Tspeedbutton.Create(self);
//but.Name:='but_'+inttostr(i);
but.Tag := i;
but.Parent := Form1;
but.Width := 120;
but.Height := 40;
but.Cursor := crHandPoint;
but.AlignWithMargins := true;
but.Top := 0;
but.Caption := IntToStr(But.Tag);
ShowMessage(but.Caption);
i := i - 1;
end;
end;