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

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

как правильно освобождать память от динамического массива? [D7]


SkyN ©   (2008-10-21 15:46:00) 

Есть type
 tDA=array of record
   A: array of integer;
   B: array of integer;
 end;

Как правильно освобождать память от него? Достаточно переменной присвоить nilили надо сначала присвоить nilвсем Aи B


Сергей М.   (2008-10-21 21:08:00) [1]


> сейчас речь идёт о написании метода Clear.


Сей спич в сём контексте лишен смысла.


Тын-Дын   (2008-10-21 21:04:00) [2]


> Достаточно переменной присвоить nil


Sapersky   (2008-10-21 20:47:00) [3]

или надо сначала присвоить nil всем A и B

Не надо, при условии, что вложенные A и B - это т.н. типы с управляемым временем жизни - дин. массивы, строки, варианты, интерфейсы. Впрочем, если трудно запомнить и есть опасения перепутать с классами и обычными указателями - можно каждую динамическую переменную прибивать индивидуально, хуже не будет.

Сохранить куда-либо или прочитать откуда-либо без плясок - не получится.

Ну есть методы на самом деле... впрочем, поклоннику классов и "правильного" программирования их рекламировать бесполезно :)


Anatoly Podgoretsky   (2008-10-21 16:58:00) [4]

Для освобождение памяти метод Clear не нужен, можно и грязную память освобождать.

Кто мешает написать тестовый пример, в длинном цикле задавать и разрушать, контролируя память по диспетчеру задач. И это будет тебе полезнее, поскольку запомнишь на всю жизнь.


Vlad Oshin   (2008-10-21 16:39:00) [5]

судя как происходит в отладчике -
> Достаточно переменной присвоить nil


SkyN   (2008-10-21 16:33:00) [6]

Переменная данного типа является закрытым полем класса, и сейчас речь идёт о написании метода Clear.


Ega23   (2008-10-21 16:02:00) [7]

Вот объясните мне - нафига нужны такие рекорды? Сохранить куда-либо или прочитать откуда-либо без плясок - не получится.
Делай класс с методами.


Наверх

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