比如我在一个循环内创建label对象,并一一赋值,我怎么才能把label对象提到循环外?

解决方案 »

  1.   

    比如 for 1 to 25
          label.create
            设置label的属性
     相当于创建25个label控件并赋值
         我怎么把label.create这一步提到for循环之前?
      

  2.   

    你确定你的这个能运行?labelarray:Array[1..25] of TLabel;
    int i;
    for i:=1 to 25 do
    begin
        labelarray[i]=Tlabel.create;
    end;
      

  3.   

    Create 写到for 顶上就成
    for完了记得FreeAndNil掉
      

  4.   

         我那个只是简略的说明一哈,我的意思是在for循环内要建25个label对象并一一初始化啊,把create提前不是只能创建一个label对象了啊。
      

  5.   


    var
       lab:Array[1..25] of TLabel;
       int i;
    begin
      for i:=1 to 25 do
      begin
        lab[i] :=Tlabel.create;
        lab[i].caption := 'XXOO';
        lab[i].free;
      end;
    end    你要创建25个label自然要25次create了,要是不用的话,我就不懂了
        create 放到for前只能创建一个label
      

  6.   

    那不如用case ...  of语句,只执行特定的条件。