Вниз
Скачать: 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.026 c
6-1082541457
dreams
2004-04-21 13:57
2004.06.13
Как работать с ClinetSocket через прокси ?


1-1086160705
RavenD
2004-06-02 11:18
2004.06.13
Глобальная переменная в dll?


1-1085901658
renat-me
2004-05-30 11:20
2004.06.13
Обращение к объектам


3-1084960375
Kein
2004-05-19 13:52
2004.06.13
Как создать базу с DEFAULT CHARACTER SET WIN1251


6-1082736717
Piter
2004-04-23 20:11
2004.06.13
TTcpClient




   Наверх