Delphi去持控件数组,你只要简单的声明一个与普通数组一样的数组,比如是按钮数组:
Btns:array[0..10] of TButton;你就可以使用了。下面是我的一个项目中用到的:
procedure SetButtonStateEx(qry:TpFIBDataSet;
          Buttons:array of TksoOfficeSpeedButton);
var
  i:integer;
begin
  if qry.RecordCount >0 then
    for i := low(Buttons) to High(Buttons) do
      Buttons[i].Enabled := true
  else
    for i := low(Buttons) to High(Buttons) do
      Buttons[i].Enabled := false;
end;

解决方案 »

  1.   

    procedure TForm1.FormCreate(Sender: TObject);
    var
      Btns: array[0..10] of TButton;
      I: Integer;
    begin
      for I := Low(Btns) to High(Btns) do begin
        Btns[I] := TButton.Create(Self);
        Btns[I].Parent := Self;
        Btns[I].Left := I * 10;
        Btns[I].Top := I * 10;
        Btns[I].Caption := Format('Btns[%d]', [I]);
        Btns[I].OnClick := Button1Click;
      end;
    end;procedure TForm1.Button1Click(Sender: TObject);
    begin
      ShowMessage(TButton(Sender).Caption);
    end;
      

  2.   

    用TList或者TObjectList岂不是更方便吗?
      

  3.   

    to VSaber(☆浪人☆):
     
      似有所悟,请指点。
      

  4.   

    对,如果是动态的,还是用TList或TlistStrings好一些。