Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема с GroupBox.Children [Delphi, Windows]


vampir_infernal ©   (2006-12-17 20:36:00) 

Здравствуйте, уважаемые.
Матчасть: D2005, KOL 2.48, WinXP SP2.
Проблема: в приложении необходимо часто создавать и уничтожать контролы на гроупбоксе. Все контролы, которые нужно уничтожать, создаются с AParent = Groupbox, где GroupBox - контрол, созданный с помощью NewGroupBox от формы, и их свойству Tag присваюваются значения от 1 до 9 (пока что только 9 контролов). Для особождения всех контролов независимо от их количества, думал использовать такой код:
for i:=0 to GroupBox.ChildCount do
  GroupBox.Children[i].Free;

но такой код ведет себя по крайней мере странно: метод Free вызывается только для контролов с нечетным Tag, то есть 1,3,5,7,9, и далее происходит ошибка. Если же вместо Free написать Visible := false;, то все контролы скрываются как и положено
Вопрос: как же все таки уничтожить все контролы на групбоксе?
P.S. Есди кто знает другой способ динамически уничтожать и создавать контролы на форме\групбоксе в рантайм, то я внимательно выслушаю его(ее) вариант.
Спасибо.


vampir_infernal   (2006-12-17 20:46:00) [1]

понял свой косяк. действительно, глупейший вопрос. Спасибо за помощь.


Vladimir Kladov   (2006-12-17 20:38:00) [2]

for i := GroupBox.ChildCount -1 downto 0do

Это же классика...


Наверх

Титульная страница Поиск, карта сайта Написать письмо