Вниз
Скачать: 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 вся ветка

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



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


1-1085908028
ilnarab
2004-05-30 13:07
2004.06.13
Как с помощью OpenDialog-а загрузить в ListBox текстовый файл


3-1085379751
DimonNew
2004-05-24 10:22
2004.06.13
ADO и кэширование данных


3-1085408899
DimonNew
2004-05-24 18:28
2004.06.13
BGrid с флажком


1-1085941299
jafar
2004-05-30 22:21
2004.06.13
Непонятки с указателями




   Наверх