Вниз
Скачать: CL | DM;

Динамические массивы внутри записи   Найти похожие ветки 

← →
BOA_KAA ©   (2003-02-17 17:04) [0]

Вот такой вопрос возник
Допустим, есть такой набор типов данных:

type
TArr1 = array of TSomeType1;

Trec1 = record
A1: TArr1;
B: SomeType2;
end;

TA2 = array of Trec1;

var
A: TA2;


Для освобождения массива A понятно A:=nil

А вот освобождается ли при этом то, что находится в A.A1 или же до кучи надо A.A1:=nil;


← →
han_malign ©   (2003-02-17 17:13) [1]

program dyn2;
{$APPTYPE CONSOLE}
type
TSomeType1=word;
TSomeType2=byte;
TArr1 = array of TSomeType1;

Trec1 = record
A1: TArr1;
B: TSomeType2;
end;

TA2 = array of Trec1;

var
A: TA2;
i: integer;
begin
Writeln(AllocMemSize);
SetLength(A,1001);
Writeln(AllocMemSize);
for i:=0 to 1000 do SetLength(A[i].A1,2000);
Writeln(AllocMemSize);
A:=nil;
Writeln(AllocMemSize);
end.


Результат:
0
8016
4020028
0

Делай выводы...

З.Ы. Всего две минуты на тестовое приложение...


← →
BOA_KAA ©   (2003-02-17 17:15) [2]

Тады ОК! Сенькс!:-)



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

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



Память: 0.45 MB
Время: 0.011 c
1-87414
Артём К
2003-02-14 12:29
2003.02.27
Как сдвинуть значения массива на один элемент


3-87333
Ihtiandr
2003-02-10 17:25
2003.02.27
fibPlus


1-87437
BorisUK
2003-02-18 13:56
2003.02.27
Проблема с маской или у меня :)


3-87281
Eugene_
2003-02-08 21:21
2003.02.27
Работа со связанными таблицами Paradox


4-87764
Лёха2003
2003-01-10 23:38
2003.02.27
Дескрипторы окон в таскбаре




   Наверх