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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 24.11.2011, 12:20   #1
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию Почему утечка памяти, если указатель на обьект сохраняется?

Доброго времени суток!

возникает непонятный сабж для меня:
Код:
var
  Obj:TObject;
begin
  Obj:=TObject.Create; //<< - здесь
  Tlist.Add(@Obj); 
end;
Почему возникает утечка памяти?

Если уничтожить Obj то @obj будет ссылаться в никуда.
Человек_Борща вне форума Ответить с цитированием
Старый 24.11.2011, 12:25   #2
Johnson
кривокодер ;)
Форумчанин
 
Аватар для Johnson
 
Регистрация: 20.06.2008
Сообщений: 707
По умолчанию

Посмотрите как реализован TObjectList из модуля Contnrs
"А как написать праграму?, "ришыти задачьку очинь нада" ©с форума. Жить становится интереснее, жить становится веселее...
{Быть или не быть} {Неуспешный суицид}
Johnson вне форума Ответить с цитированием
Старый 24.11.2011, 12:30   #3
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Что лучше хранить в списках: Обьект или ссылку на него?
Был вариант с хранением обьектов в ОБьектЛисте, теперь решил пропробовать хранить Указатели на обьекты в Списке.
Человек_Борща вне форума Ответить с цитированием
Старый 24.11.2011, 12:58   #4
Аватар
Старожил
 
Аватар для Аватар
 
Регистрация: 17.11.2010
Сообщений: 19,042
По умолчанию

List.Add(Obj) добавляет в список не объект, а указатель на него (адрес объекта).
При уничтожении объекта или удаляйте ссылку на него из списка или nil присваивайте ссылке в списке.
Если бы архитекторы строили здания так, как программисты пишут программы, то первый залетевший дятел разрушил бы цивилизацию
Аватар вне форума Ответить с цитированием
Старый 24.11.2011, 13:24   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,442
По умолчанию

Благодарен обоим! Без указателей всё проще. Да и сабж больше не протекает!
Человек_Борща вне форума Ответить с цитированием
Ответ


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

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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Непонятная утечка памяти FReeZ777 Работа с сетью в Delphi 14 11.02.2012 18:16
Утечка памяти Juffin Общие вопросы Delphi 3 02.11.2010 12:11
Утечка памяти ZvEr_HaCkEr Свободное общение 13 24.09.2010 19:30
Просьба проверить, если в коде утечка памяти Anfall Общие вопросы Delphi 25 17.08.2010 10:44
утечка памяти в С++ vengo Общие вопросы C/C++ 9 10.06.2008 21:24