Модуль: System
Описание
Процедура уничтожает переменную, с которой связан указатель P и высвобождает память, занимаемую данной переменной. В необязательном параметре Size указывается объем памяти в байтах, выделенный ранее динамически под переменную. Если после действия процедуры FreeMem, вызвать указатель P, то возникнет ошибка, т.к. указатель имеет неопределенное значение.
Пример
var
Vf: File;
Size: Integer;
Buffer: PChar;
begin
AssignFile(Vf, 'work.txt');
Reset(Vf, 1); { Открывает файл work.txt }
Size:= FileSize(Vf); { Определяет размер файла }
GetMem(Buffer, Size); { Создает динамический буфер }
try
BlockRead(Vf ,Buffer^, Size); { Читает содержимое файла в буфер }
...
{ В этом месте должен быть код, использующий буфер }
...
finally
Finalize(Buffer);
FreeMem(Buffer); { Освобождает память от буфера }
end;
CloseFile(F); { Закрывает файл }
end;