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

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



Память: 0.46 MB
Время: 0.02 c
14-1079973876
Пилкин
2004-03-22 19:44
2004.04.18
Проблема с OutlookXP


14-1079789142
Knight
2004-03-20 16:25
2004.04.18
Люди дайте ссылки на все фотки с последней ММР...


1-1081030524
LORDMAXX
2004-04-04 02:15
2004.04.18
Как добавить в TScrollBox Items


14-1080439909
Думкин
2004-03-28 06:11
2004.04.18
С днем рождения! 28 мамрта.


14-1079937522
Real
2004-03-22 09:38
2004.04.18
1 апреля - НА НОСУ!




   Наверх