我要用一个控件组,是Image的控件组.我用了100个Image,要放在一个叫ImgArray控件数组里面,请问我该怎么来定义这个数组?
我是这么做的:
type
ImgArray:array[1..100] of TImage;
......
ImgArray:=(Image1,Image2,Image3,......,Image100);结果系统报错.
应该怎么来实现才正确呢?期待高手指教.

解决方案 »

  1.   

    ImgArray[i]:=TImage.create(nil);这样来“赋值”
      

  2.   

    var
      ImgArray:array[1..100] of TImage;
    ......
    procedure TForm1.FormCreate(Sender: TObject);
    var i: integer;
    begin
      for i := 1 to 100 do
        ImgArray[i] := TImage.Create(Self);
    end;
      

  3.   

    关键是,我的Image1...Image100是已经存在的Image.
      

  4.   

    用ImageList1控件进行存放呀!
    有问题请发信息到我的E-mail:[email protected]
      

  5.   

    那就改成这样:
    var
      ImgArray:array[1..100] of TImage;
    ......
    procedure TForm1.FormCreate(Sender: TObject);
    var i: integer;
    begin
      for i := 1 to 100 do
        ImgArray[i] := TImage(FindComponent('Image' + IntToStr(i)));
    end;
      

  6.   

    procedure TForm1.FormCreate(Sender: TObject);
    var 
    i: integer;
    j: Integer;
    begin
      for i := 0 to ComponentCount - 1 do
        if Components[i] is TImage then
        begin
          j := StrToInt(Copy(Components[i].Name, 6, MaxInt));
          ImgArray[j] := TImage(Components[i]);
        end;    
     end;