![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Присваивание или копирование? [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), а потом (когда данные станут не нужны) освободишь память через сохранённый в списке указатель.