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

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

array of array Integer [D7]


Jan ©   (2007-03-02 11:06:00) 

Мастера, нужен совет.
Есть процедурка которая работает с дин. массывом - сабж.

Я сначала выделяю под него память в цикле и заполняю:

...
 SetLength(MyArray, i + 1);
 SetLength(MyArray[i], 3);
 MyArray[i, 0] := 1;
 MyArray[i, 1] := 2;
 MyArray[i, 2] := 3;
...

Вопрос как нужно освобождать память? Достаточно  ли сделать всему массиву:

...
 SetLength(MyArray, 0);
...

в конце процедурки или нужно каждую строку сначала, а потом массив?

...
 SetLength(MyArray[i], 0);
...
 SetLength(MyArray, 0);
...

Спасибо.


evvcom   (2007-03-02 12:29:00) [1]

> [3] Kolan ©   (02.03.07 11:21)

Если это локальная переменная, то да.
А если глобальная, то можно вообще ничего не чистить. :) При закрытии приложения все почистится системой. :) Подумаешь, какие-то мемлики в процессе работы :-)


Jan   (2007-03-02 11:55:00) [2]

Всем сенькс. Сделал Finalize(MyArray); - чтоб уж точно освободил :)


Kolan   (2007-03-02 11:21:00) [3]

> в конце процедурки

Да ниче не делай. Дин массивы с управляемым вр. жизни компилятор все сам удалит...


ЮЮ   (2007-03-02 11:14:00) [4]

Достаточно первого. А так ещё короче:
 MyArray := nil;


clickmaker   (2007-03-02 11:10:00) [5]

Finalize()


Наверх

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