Вниз
Скачать: 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
14-87630
Mihey
2003-02-09 19:13
2003.02.27
Сложнейшая задача.


3-87290
mUTant
2003-02-05 23:35
2003.02.27
Как запустить программу на машине на которой не установлен Parado


8-87576
VVVaaa
2002-11-12 11:32
2003.02.27
Проблемка с выводом на image


6-87594
Gamar
2003-01-10 13:13
2003.02.27
Экстракция ссылок


1-87405
Димон1
2003-02-18 10:39
2003.02.27
TreeView.Item




   Наверх