Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.06.13;
Скачать: CL | DM;

Вниз

Как правильно освободить память ?   Найти похожие ветки 

 
Leaner ©   (2004-05-28 11:31) [0]

Корректно ли следующее освобождение памяти ?
var
ByteArr:array of Byte;
Begin
SetLength(ByteArr,1024);
ByteArr:=nil;
end;


 
Семен Сорокин ©   (2004-05-28 11:32) [1]

да, аналог SetLength(ByteArr, 0);


 
Sandman25+1   (2004-05-28 11:33) [2]

Корректно. Но можно его и не делать.


 
Erikl   (2004-05-28 11:34) [3]

Test


 
Тимохов ©   (2004-05-28 11:35) [4]

нинамические массивы не надо удалять - они удалятся сами, об это позаботится компилятор дельфи автоматически вставив нужные команды.


 
Leaner ©   (2004-05-28 11:37) [5]

Спасибо !


 
Anatoly Podgoretsky ©   (2004-05-28 11:38) [6]

Правильно тогда когда память осбождается полность - не больше и не меньше, и при том своя а не чужая.
Для динамических массивов есть 4 пути
1. не освобождать, освободится сама когда выйдет за пределы видимости.
2. присвоить nil
3. присвоить нулевую длину
4. использовать Finalize - ни к чему.


 
lyeh ©   (2004-05-29 03:54) [7]

А если массив состоит из пойнтеров, то их надо тоже освободить


 
Palladin ©   (2004-05-29 06:09) [8]

Память взятую под указатели конечно же нужно освобождать.


 
Anatoly Podgoretsky ©   (2004-05-29 12:42) [9]

lyeh ©   (29.05.04 03:54) [7]
В зависимости от задачи


 
lyeh ©   (2004-05-31 00:36) [10]

2 Anatoly Podgoretsky ©
Согласен, я имел виду освождать массив вместе с содержимым, нигде больше не встречающимся



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

Текущий архив: 2004.06.13;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.029 c
14-1085812324
kaif
2004-05-29 10:32
2004.06.13
Именование событий


14-1085777429
Yorick
2004-05-29 00:50
2004.06.13
Кто-где живет?


4-1083737022
Olja
2004-05-05 10:03
2004.06.13
Звонок на городские номера


3-1085419286
m2003
2004-05-24 21:21
2004.06.13
База vs. Файл


3-1085006232
Bes
2004-05-20 02:37
2004.06.13
"соединение" нескольких баз...