Как уничтожить компонент в RunTime?

Модераторы: Duncon, Naeel Maqsudov, Игорь Акопян, Хыиуду

Ответить
Alchazar
Сообщения: 23
Зарегистрирован: 13 апр 2005, 10:47
Откуда: LT Vilnius
Контактная информация:

Во время выполнения программы мне надо уничтожить панели Pan_Prop0 - Pan_Propn которые были созданы в RunTime. Как проверить созданы ли эти панели и если созданы, то как их удалить?
Панели я создаю так:

Код: Выделить всё

Pan:= TPanel.Create(F_GoodsV2.ScrollBox_Prop);
    with Pan do
    begin
      Parent:=F_GoodsV2.ScrollBox_Prop;
      Visible:= true;
      Top:=(i* 41)+1;
      Left:=0;
      Height:=41;
      Width:=365;
      Name:= 'Pan_Prop'+ IntToStr(i);
      Caption:='';
    end;
Delphi 7
ICQ 338-030-989
Alchazar
Сообщения: 23
Зарегистрирован: 13 апр 2005, 10:47
Откуда: LT Vilnius
Контактная информация:

Вот, нашёл решение:

Код: Выделить всё

for i:=1 to ScrollBox_Prop.ComponentCount do
  ScrollBox_Prop.Components[0].Free;
Delphi 7
ICQ 338-030-989
Аватара пользователя
LAngel
Сообщения: 277
Зарегистрирован: 30 мар 2005, 08:19
Откуда: Ульяновск
Контактная информация:

Код: Выделить всё

if assigned(Pan) then Pan.Free
?
С уважением, Lost Angel...
Аватара пользователя
Игорь Акопян
Сообщения: 1440
Зарегистрирован: 13 окт 2004, 17:11
Откуда: СПБ
Контактная информация:

Alchazar, твой код убьёт все компоненты, Owner которых ScrollBox_Prop. Если это так и надо - то ок. Или проверяй в этом цикле, например имя...
Изображение
Ответить