Это, наверное, глупый вопрос, но мой мозг просто приготовлен достаточно, я думаю, что я буду использовать один из моих "жизненных линий", чтобы узнать, смогу ли я получить помощь от моих друзей.;)
Мне нужно удалить все вхождения определенного типа компонента в моей основной форме (некоторые из них находятся внутри панелей или таблиц, но все они принадлежат и принадлежат одной и той же форме). Вот что у меня сейчас:
for i := 0 to frmMain.ComponentCount - 1 do
begin
if frmMain.Components[i] is TMyClass then frmMain.Components[i].Destroy;
end;
Проблема в том, что (и я знал, что это было бы до того, как я ее скомпилировал), что, как только я уничтожу компонент, переформатирует список компонентов формы, и я окажусь вне пределов.
Какой лучший способ решить эту проблему? Я подумал о добавлении "найденных" компонентов в автономный массив, а затем пройти через это после этого цикла, чтобы удалить их, что, я думаю, будет работать... но это лучший подход?
ТИА
ОБНОВЛЕНИЕ:
Вы, ребята, рок. Благодарю.:)