Вниз
Скачать: CL | DM;

Динамические массивы   Найти похожие ветки 

← →
default ©   (2004-07-29 13:19) [0]

Господа, ерундовский вопрос:
если в полях класса есть динамический массив и под него выделялась память каким-нибудь методом объекта, код генер-ый Delphi по сборке мусора сразу освободит память под динам-ий массив после смерти объекта или по окончанию работы приложения? (или потока в котором он был создан(не знаю как именно))


← →
TUser ©   (2004-07-29 13:28) [1]

Вообще-то D освободит память, когда вызовешь деструктора (если, конечно, ты память выделял SetLength"ом). Но я все-таки стараюсь сам писать SetLength(Ar,0), когда массив мне больше не нужен.


← →
default ©   (2004-07-29 13:33) [2]

TUser ©   (29.07.04 13:28) [1]
точно?


← →
TUser ©   (2004-07-29 13:38) [3]

Компилятор Delphi это гарантирует. Примерно так же, как гарантировано освобождение памяти, занятой под локальные пеерменные. Массивы тоже когда больше не нужны - "пропадают".


← →
Palladin ©   (2004-07-29 13:49) [4]

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


← →
default ©   (2004-07-29 13:51) [5]

проверил, дейст-но освоб-ся сразу
понятно изначально было что чист-ся всё подобное при выходе за область вид-сти, но всё-таки хотелось убед-ся полн-ью



Страницы: 1 вся ветка

Скачать: CL | DM;



Память: 0.46 MB
Время: 0.033 c
4-1088751282
Rain
2004-07-02 10:54
2004.08.15
Почему это не работает?


1-1091166407
П7
2004-07-30 09:46
2004.08.15
Элементы TTreeView и Drag n Drop


6-1087293736
webpauk
2004-06-15 14:02
2004.08.15
Игры


1-1091438001
Lizard
2004-08-02 13:13
2004.08.15
Управлять динамически созданными окнами


11-1078154025
ctapik
2004-03-01 18:13
2004.08.15
Занимаемая память программы (Task manager)




   Наверх