V. ФУНКЦИИ И ПРОЦЕДУРЫ ДЛЯ РАБОТЫ С ПАМЯТЬЮ
2. Процедуры для работы с динамическими переменными
Процедура FreeMem( var P: Pointer [; Size: Integer] );
Модуль: System
Описание
Процедура уничтожает переменную, с которой связан указатель P и высвобождает память, занимаемую данной переменной. В необязательном параметре Size указывается объем памяти в байтах, выделенный ранее динамически под переменную. Если после действия процедуры FreeMem, вызвать указатель P, то возникнет ошибка, т.к. указатель имеет неопределенное значение.
Пример
var
Vf: File;
Size: Integer;
Buffer: PChar;
begin
AssignFile(Vf, 'worktxt.html');
Reset(Vf, 1); { Открывает файл worktxt.html }
Size:= FileSize(Vf); { Определяет размер файла }
GetMem(Buffer, Size); { Создает динамический буфер }
try
BlockRead(Vf ,Buffer^, Size); { Читает содержимое файла в буфер }
...
{ В этом месте должен быть код, использующий буфер }
...
finally
Finalize(Buffer);
FreeMem(Buffer); { Освобождает память от буфера }
end;
CloseFile(F); { Закрывает файл }
end;
[Вернуться к содержанию]
|