易简.道(ething)

爱在进行时
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Delhi 动态创建TImage控件的删除

Posted on 2010-01-22 14:47  如是如是  阅读(302)  评论(0编辑  收藏  举报

//双重保险,TImage对象有时候使用FindControl时候释放不掉 而其他类型的控件时可以的。
    self.ScrollBox1.FindComponent(global.ItemIDList.Strings[i]).Free;
    (self.ScrollBox1 as TScrollBox).FindChildControl(global.ItemIDList.Strings[i]).Free;

以上代码无法删掉动态创建的TImage对象,双重保险也不管用。

 

//真正起作用的是下面的代码  上面的完全失效 释放不掉
with (self.ScrollBox1 as TScrollBox) do
begin
    for i:=ControlCount-1 downto 0 do
     if (uppercase(Controls[i].Name)<>uppercase('BackgroundImage')) and (uppercase(Controls[i].ClassName)=uppercase('TImage')) then
           Controls[i].Free;

end;