如一个INTEGER型数组
var MyInt:Array of Integer;
implememtation
........//在那个需要创建的地方中用SETLENGTH

procedure TForm1.OnCreate
begin
      SetLength(MyInt,4);//开辟4个长,也可是一个经计算出的变量。
      MyInt[1]:=100;//就可用了
end;

解决方案 »

  1.   

    和变量有什么关系?只要你的windows还能run,创建多少都没关系。。interface var
     btn:TButton;type
     tform1=class(TFORM)
      .....
     var
      form1:TForm1;
    implementationtform1.button1click(sender:Tobject);
    begin
     btn:=tbutton.create(self);
     btn.parent:=form1;
     btn.show;
    end;
    end;
      

  2.   

    使用动态数组,数组的类型是你要创建的对象类型。如:
    var
      dArray:array of yourObjectType;
      i:integer;
    ...
    i:=30;//对象的数量
    SetLength(dArray,i);
    ...
      

  3.   

    可以用动态数组,指针数组,控件数组。定义成全局的就行了,使用控件数组时要为每个数组成员指定.tag属性,这样才能在事件中来识别是哪个控件成员的响应
      

  4.   

    你动态定义后,可以FREE释放。
      

  5.   


    用TColleation类、TCollectionItem类组合扩展,例子:TStateBar中可以包含不定个数的TPanel组件!看VCL源代码吧!:)
      

  6.   

    动态数组可以定义多次的:SetLength( a, 100 ); // 这里定义一次
    SetLength( a, 1000 ); // 变为1000个,没问题!
    SetLength( a, 50 ); // 变为50个,没问题!如果是想动态增加和减少成员,那就用TObjectList (Delphi 5中增加的, 若是D4就用TList或TStringList吧)。
    不过如果用全局变量,必须在定义这个全局的单元的最下面(当然得在“end.”之前)这样写:
    initialization
       FObjList := TObjectList.Create;
       // 如果你需要它自动销毁对象,加上:FObjList.OwnsObjects := True;
    finalization
      FObjList.Free;