大概如下:var
o:TEdit;
begin
  for i:=0 to N do o[i]:=TEdit.Create(Self);
end;

解决方案 »

  1.   

    谢谢心海灵灯
    但是o[i]:=TEdit.Create(Self);
    句有错误提示,如下:
    [Error] un_part2.pas(36): Class does not have a default property
    请再帮我解决一下
    谢谢
      

  2.   

    用:
    o[i]:=TEdit.Create(nil);
    试一下
      

  3.   

    他写错了
    var
      o:array of Tedit;
    begin
      setlength(o,N);
     for i:=0 to N do o[i]:=Tedit.create(self);
      

  4.   

    比如
    setlength(o,2)
    for i:=0 to 2 do 
    o[i]:=Tedit.create(self); 
    当i等于2时便提示:
    无效的指针操作
    这是为什么?
      

  5.   

    o[2]为两个控件(o[1],o[2])不含:o[0]
      

  6.   

    应该是:o[2]为两个控件(o[0],o[1])不含:o[2] 吧! 给你个安全的:for i:=Low(o) to High(o) do  
      o[i]:=Tedit.create(nil); 
      

  7.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i,n: Integer;
    const
      NamePrefix = 'Edit';
    begin
      n:=50; 
      for i := 1 to n do
      begin
        TEdit.Create(Self).Name := NamePrefix + IntToStr(i);
        with TEdit(FindComponent(NamePrefix + IntToStr(i))) do
        begin
          Left := 10;
          Top := i * 20;
          Parent := self;
        end;
      end;
      end;