Показать сообщение отдельно
  #1  
Старый 05.12.2014, 12:43
Евгений79 Евгений79 вне форума
Прохожий
 
Регистрация: 24.04.2011
Сообщения: 24
Репутация: 156
По умолчанию Динамическое создание объекта

Задана глобальная переменная
Код:
var
 bt: TButton;

затем в какойто процедуре создаем несколько кнопок
Код:
   bt:= TButton.Create(Panel1);
   bt.Parent:= Panel1;
   bt.Name:= 'but1';

   bt:= TButton.Create(Panel1);
   bt.Parent:= Panel1;
   bt.Name:= 'but2';

   bt:= TButton.Create(Panel1);
   bt.Parent:= Panel1;
   bt.Name:= 'but3';

в другой процедуре нужно узнать если кнопкИ созданы то уничтожить их все
Код:
  if Assigned(bt) then FreeAndNil(bt);
Удаляет только последнюю кнопку 'but3'

Как удалить but1, but2 ?
Может мой подход в корне неверный и проще объявить сразу три переменные для кнопок?
Но может возникнуть ситуация с созданием сотни динамических компонент, все их описывать поименно?
Ответить с цитированием