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

Вниз

Массивы Variant и сборка мусора   Найти похожие ветки 

 
atruhin ©   (2004-03-29 10:57) [0]

var
 V, VV : array of variant;
begin
 SetLength(V,3);
 SetLength(VV,15);
 V[0]:=VV;
....
 V := nil;
end;
Вопрос. Необходимо ли освобождать элементы массива V отдельно или   это делается автоматически?


 
Smithson ©   (2004-03-29 11:02) [1]

Не делается, необходимо.


 
Alex Konshin ©   (2004-03-29 11:28) [2]

При уничтожении дин массива при выходе за пределы видимости автоматически происходит финализация элементов.


 
atruhin ©   (2004-03-29 11:59) [3]

Уточнение к вышесказанному. V массив описан в объекте. При необходимости в процедуре 1 создаются элементы (SetLength(X)) и присваиваются элементам V. Когда массив ненужен освобождаем память Setlength(V,0). Нужно ли предварительно циклом освобождать каждый элемент отдельно?


 
Alex Konshin ©   (2004-03-29 12:09) [4]

Нет.


 
Alex Konshin ©   (2004-03-29 12:11) [5]

Посмотри System.DynArraySetLength и увидишь, что она вызывает _DynArrayClear, которая, в свою очередь, вызовет финализацию массива.



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

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

Наверх




Память: 0.47 MB
Время: 0.069 c
3-1079609866
stas
2004-03-18 14:37
2004.04.18
Расширенные хранимые процедуры под MSSQL SERVER2000


8-1071569422
Ivolg
2003-12-16 13:10
2004.04.18
Перемотка


7-1075920853
Rim
2004-02-04 21:54
2004.04.18
Параметры панели задач


3-1079613339
lesha y
2004-03-18 15:35
2004.04.18
<b> Помогите разобраться с InstallShield Express <b>


14-1080125675
isko
2004-03-24 13:54
2004.04.18
apacer агитирует за NT:)