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

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

создание и уничтожение компонентов в Run-Time [D7, Win2k, WinXP]


pavel_guzhanov ©   (2005-05-27 12:03:00) 

в процессе работы приложения на Panel1 создаются компоненты Image и CheckBox. По нажатию кнопки в приложении мне надо удалить с этой панели только checkbox'ы и Imag'ы, а кнопки, находяшиеся на этой же панели должны остаться.
Я делаю вот так:
 for i:=1 to Panel1.ControlCount do
   if (Panel1.Controls[i] Is TCheckBox) or (Panel1.Controls[i] Is TImage) then
     Panel1.Controls[i].Destroy;
Но, так как количество контролов на панели уменьшается, то я получаю ошибку "List index of bounds(4)", ну или не 4, в зависимости от количества контролов на панели.
А как тогда мне реализовать удаление компонентов, подскажите пожалуйста...


pavel_guzhanov   (2005-05-27 12:12:00) [1]

Спасибо, ща попробую....


Юрий Зотов   (2005-05-27 12:07:00) [2]

with Panel1 do
 for i := ControlCount - 1 downto 0 do
   if (Controls[i] is TCheckBox) or (Controls[i] is TImage) then
     Controls[i].Free;


Наверх

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