Форум: "Основная";
Текущий архив: 2004.04.18;
Скачать: [xml.tar.bz2];
ВнизМассивы 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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.036 c