怎样释放动态创建的组建?比如,我有一个静态创建的Timage,和N个动态创建的Timage。我现在仅要保留静态Timage,而释放N个动态创建的Timage,怎么做?

解决方案 »

  1.   

    你可以用不同的名称来区分,比如说,静态的用abc,动态的用image等,然后,再对每个timage控件进行遍历,如果是image开头的控件名称,则free掉不就可以了吗?
    给分我咯!
      

  2.   

    你的N个动态的Timage总都是一个一个或循环创建的吧!在创建到加载图片完了以后就FREE不就可以了吗!
      

  3.   

    创建时给每个Timage的Tag属性设为100,parent = form1;这样遍历得到要删除的image,
    for i = 0 to form1.Controls.Count -1 do
    begin
        if ((form1.Controls[i].ClassName = TImage)
            and (form1.Controls[i].tag = 100))
        begin        删除
        end;
    end;
      

  4.   

    来晚了,同意 happyzsl(学习)说的。
    :)
      

  5.   

    var
    ima:array[1..5] of timage;
    begin
    i:=1;
    while i<=5 do 
    begin
    if i:=1   //相信你的几个image的位置不一样,可以利用利用if 语句控制
    ima[i]:=timage.Create(self);
    ima[i].top:=*
    ima[1].left:=*  //width,height位置参数你自己设置吧,


    end;
    //释放
    for 1:=1 to 5 do 
    ima[i].free
      

  6.   

    释放就是使用是Free方法
    创建时给Tag属性设为某个值是最常用的解决方法