Процедуры выделения и освобождения памяти

New и Dispose

В этих процедурах размер запрашиваемой и освобождаемой памяти явно не указывается в процедуре и определяется типом данных. Поэтому описание указателя должно быть только такого вида: ^<имя типа данных>.

New(P) – выделить память, размер которой определяется типом данных указателя P. После успешного завершения операции New значением переменной P становится начальный адрес выделенный области памяти.

Выделяемая процедурой New память не инициализируется каким-либо значением.

Dispose(P) – освободить память, начальный адрес, который определяется значением указателя P. Размер освобождаемой памяти определяется типом данных указателя P.

GetMem и FreeMem

В этих процедурах размер запрашиваемой и освобождаемой памяти явно указывается в процедуре.

Для определения необходимого размера выделяемой памяти для информации различного типа рекомендуется использовать функцию Sizeof().

GetMem(P, Size) –выделить память размером Size (единовременно не более65528 байт)и поместить значение начального адреса выделенной области памяти в указатель P.

FreeMem(P, Size) –освободитьвыделенную память размером Size, начальный адрес которой определяется значением указателя P.