Процедура FreeMem

Модуль OMemory

Освобождает память, занятую динамической переменной данного размера.

Объявление:

Procedure FreeMem(Var P : Pointer; Size : Word);

Режим:

Windows,  Protected,  Real

Замечание:

Параметр P - переменная любого указательного типа, предварительно распределенная в памяти процедурой GetMem или та, которой было присвоено значение оператором присваивания. Параметр Size - выражение, определяющее размер динамической переменной в байтах, память, занимаемую которой нужно освободить. Он должен быть равен числу байт, предварительно распределенных для этой переменной процедурой GetMem. Процедура FreeMem уничтожает переменную, связанную с P и освобождает память, занимаемую этой переменной. Если P не указывает на область памяти в куче, то происходит ошибка во время выполнения программы. После обращения к FreeMem, значение P становится неопределенным и если вы впоследствии пытаетесь сослаться на P^, то происходит ошибка.

Ограничения:

Нельзя использовать совместно с Mark или Release.

Пример:

{ Пример программы для процедур FreeMem и GetMem и функции MaxAvail }

Uses WinCrt;

Type TFriendRec = Record
             Name : String[30];
             Age  : Byte;
                  End;
Var P : Pointer;

Begin
 If MaxAvail