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

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

Надо ли делать SetLength(Array,0)? [D7, WinXP]


Aleksandr. ©   (2005-03-05 16:57:00) 

Я работаю обычно с TStream через array of byte:
SetLength(Buf,Stream.Size)...
И после окончания раоты с ним делаю
SetLength(Buf,0).
А тут вдруг заклинился на мысли: а надо ли это, или менеджер кучи сам освободит память по выходу из метода?


Anatoly Podgoretsky   (2005-03-05 18:11:00) [1]

Нет метода, в котором объявлено, нет освобождения при выходе из него. Ну а если он чушь сказал, так на всякий случай, то я не виноват.


begin...end   (2005-03-05 18:05:00) [2]

> Anatoly Podgoretsky ©   (05.03.05 18:00) [6]

Я тоже так предполагаю, однако в исходном посте было сказано просто "из метода". В [3] я просто обратил на это внимание. На всякий случай.


Anatoly Podgoretsky   (2005-03-05 18:00:00) [3]

Из того метода, где массив объявлен.


begin...end   (2005-03-05 17:55:00) [4]

> Anatoly Podgoretsky ©   (05.03.05 17:53) [4]

Не знаю, ничего конкретного про область видимости переменной автор не сказал.


Anatoly Podgoretsky   (2005-03-05 17:53:00) [5]

begin...end ©   (05.03.05 17:36) [3]
А иначе к чему это упоминание или менеджер кучи сам освободит память по выходу из метода?


begin...end   (2005-03-05 17:36:00) [6]

> Aleksandr.   (05.03.05 16:57)

См. [2], но, разумеется, это относится к случаю, когда переменная Buf является локальной в методе.


Anatoly Podgoretsky   (2005-03-05 17:12:00) [7]

Сам освободит.


clickmaker   (2005-03-05 17:04:00) [8]

array := nil;


Наверх

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