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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 19.10.2018, 21:07   #11
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Добавляется существующий объект или вообще не объект, а integer приведенный к типу TObject. Combobox уничтожит только внутренний список
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 19.10.2018, 22:40   #12
Serge_Bliznykov
Старожил
 
Регистрация: 09.01.2008
Сообщений: 26,238
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Добавляется существующий объект или вообще не объект, а integer приведенный к типу TObject. Combobox уничтожит только внутренний список
поэтому, если Вы создавали объекты, перед тем, как добавить их в список, то и уничтожать их нужно Вам, чтобы избежать утечек памяти.
Serge_Bliznykov вне форума Ответить с цитированием
Старый 20.10.2018, 07:49   #13
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Код:
procedure TFormMain.Button1Click(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to 4 do
  begin
    ComboBox1.Items.AddObject('Test' + IntToStr(I), TObject(I));
  end;
end;

procedure TFormMain.FormDestroy(Sender: TObject);
var
  I: Integer;
begin
  for I := 0 to ComboBox1.Items.Count - 1 do
  begin
    ComboBox1.Items.Objects[I].Free;
  end;
end;
При высвобождении объектов на I = 1 нарываюсь на access violation.
Shouldercannon вне форума Ответить с цитированием
Старый 20.10.2018, 08:48   #14
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

Чего решил, что TObject(I) объект, требующий освобождения памяти?
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 20.10.2018, 10:05   #15
Shouldercannon
Участник клуба Подтвердите свой е-майл
 
Аватар для Shouldercannon
 
Регистрация: 26.01.2008
Сообщений: 1,893
По умолчанию

Цитата:
Сообщение от Аватар Посмотреть сообщение
Чего решил, что TObject(I) объект, требующий освобождения памяти?
Значит ошибся. Не требует
Shouldercannon вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
TStringList royun БД в Delphi 4 04.04.2016 11:36
TStringList vasyaRyzhyi Общие вопросы Delphi 0 07.03.2011 11:01
Webbrowser и combobox: сделать чтобы в combobox-е оставалась история посещенных сайтов uasya2 Общие вопросы Delphi 6 06.03.2011 20:24
TStringList adr Общие вопросы Delphi 0 05.11.2010 18:29
Не могу внести строку из combobox в combobox!? tacer Помощь студентам 1 30.11.2007 19:45