Текущий архив: 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.46 MB
Время: 0.029 c