【发布时间】:2010-10-07 01:21:06
【问题描述】:
这可能是一个愚蠢的问题,但我的大脑已经足够成熟了,我想我将使用我的一条“生命线”来看看我是否可以从堆栈溢出的朋友那里获得一些帮助。 ;)
我需要在我的主窗体上删除所有出现的特定组件类型(其中一些在面板或标签页内,但都在同一个窗体上并归同一个窗体所有)。这是我现在拥有的:
for i := 0 to frmMain.ComponentCount - 1 do
begin
if frmMain.Components[i] is TMyClass then frmMain.Components[i].Destroy;
end;
问题是(我在编译之前就知道会这样)一旦我销毁组件,表单的组件列表会重新索引,最终会超出范围。
解决这个问题的最佳方法是什么?我考虑将“找到”的组件添加到一个独立的数组中,然后在这个循环之后遍历它以删除它们,我认为这会起作用....但这是最好的方法吗?
TIA
更新:
你们摇滚。谢谢。 :)
【问题讨论】:
标签: delphi forms components