Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 07.04.2019, 05:36   #1
Haberman
Форумчанин
 
Регистрация: 01.05.2018
Сообщений: 104
Вопрос Как удалить все динамически созданние компоненти

Код:
procedure TForm1.Destruct;
  var I:Integer;
begin
   for I :=Leter.Count - 1  downto 0 do
      letteren[i].Free;

  for i:=lar.Count  downto 0 do
   begin
     try
      Konteiner[i].Free;
     Except

     end;
   end;
end;

  lar.Add(intToStr(numb));
 Log1.Items.Add('fut '+IntToStr(numb));
Все что создается добавляется в список.
Почему не удаляет 1 или несколько последних?
Haberman вне форума Ответить с цитированием
Старый 07.04.2019, 12:19   #2
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,229
По умолчанию

очень странный код!

м.б.
Код:
   for I :=letteren.Count - 1  downto 0 do
      letteren[i].Free;

  for i:=Konteiner.Count-1   downto 0 do
      Konteiner[i].Free;
Serge_Bliznykov вне форума Ответить с цитированием
Старый 09.04.2019, 00:02   #3
Haberman
Форумчанин
 
Регистрация: 01.05.2018
Сообщений: 104
По умолчанию

Уже било по-разному и так делал, иногда не удаляет несколько и все тут..
Haberman вне форума Ответить с цитированием
Старый 09.04.2019, 09:09   #4
evg_m
Старожил
 
Регистрация: 20.04.2008
Сообщений: 5,526
По умолчанию

наличие РАЗНЫХ переменных для организации ЦИКЛА и для управления объектами (в том же цикле)
ОЗНАЧАЕТ ПРЕДПОЛАГАЕТ и наличие РАЗНЫХ мест хранения объектов.
покажите ВСЕ места создания (и сохранения) динамических компонентов.
удаление компонентов из одного места НЕ приведет к удалению прочих.
Цитата:
иногда не удаляет несколько и все тут..
А двойное удаление приведет к ошибке(AV).
"правильно" созданные компоненты "автоматом" будут удалены при удалении ИХ владельца (компонента указанного при их создании).
программа — запись алгоритма на языке понятном транслятору

Последний раз редактировалось evg_m; 09.04.2019 в 09:11.
evg_m вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не удаётся удалить динамически созданный компонент Janger Общие вопросы Delphi 9 29.06.2015 10:41
Как удалить динамически созданные поля в ADOQuery? Darlee Помощь студентам 3 28.04.2014 11:57
Компоненти Delphi frodor999 Компоненты Delphi 0 29.05.2009 14:47
Компоненти Delphi7. - скачай frodor999 Компоненты Delphi 0 09.04.2009 12:05
Скрить форму но не компоненти xTANATOSx Общие вопросы Delphi 1 05.11.2007 20:29