Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Присваивание или копирование? [D6, WinXP]


novice_man ©   (2004-11-14 20:41:00) 

Код:

var
fMyPerem: ^tMyType;
begin
New(fMyPerem);
ListOfMyPerems.Add(fMyPerem);
Dispose(fMyPerem);
end;

После этого в списке ListOfMyPerems данные в элементе [0] (для данного случая) не сохраняеются. Как избежать утечки памяти???

P.S. ListOfMyPerems := TList.Create, где то раньше, не важно.


novice_man   (2004-11-14 21:18:00) [1]

Torin  (14.11.04 21:14) [1]
Понятно. Спасибо.


Torin   (2004-11-14 21:14:00) [2]

Если не ошибаюсь, то List хранит указатели. Следовательно ты добавляеш указатель в список, а потом уничтожаешь данные на которы он указывает. Убери строку Dispose(fMyPerem), а потом (когда данные станут не нужны) освободишь память через сохранённый в списке указатель.


Наверх

Титульная страница Поиск, карта сайта Написать письмо