比如:有N个动态创建的Image,它们的Parent都为ScrollBox1。请问:如何才能Free掉这些Images?

解决方案 »

  1.   

    var
    i:integer;
    begin
    for i:=0 to ScrollBox1.ControlCount-1 do
    begin
    if (ScrollBox1.Controls[i] is TImage) then
    TImage(ScrollBox1.Controls[i]).Free;
    end;
    end;
      

  2.   

    var
    i:integer;
    begin
      for i:=0 to ControlCount-1 do
      begin
        if Controls[i] is TImage then
          if TImage(Controls[i]).Parent=ScrollBox1 then
            TImage(Controls[i]).Free;
      end;
    end;
      

  3.   

    我不清楚ScrollBox,不过是panel的话,只释放panel,那包含在panel中的动态创建的控件也会释放掉
      

  4.   

    在创建TImage的时候,将其owner设为ScrollBox,或者某个Form,则owner释放时会自动释放的,你不用管了
      

  5.   

    正如 jl820712(seraphim) 所说的,你直接将 ScrollBox Free掉就可以了;