IPB

> FreeMem (процедура)
Чат
Форум
Загрузка...
 

Язык:
Русский
English

 FreeMem  (процедура)


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

Объявление

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

Режим

Windows, Real, Protected

Замечания

Параметр P - переменная любого указательного типа, предварительно распределенная в памяти процедурой GetMem или та, которой было присвоено значение оператором присваивания.

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

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

Ограничения

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

См. также

Пример

Язык:
Русский
English


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

uses Crt;

type TFriendRec = record
  Name : String[30];
  Age  : Byte;
end;
var
  P : Pointer;

begin
 if MaxAvail < SizeOf(TFriendRec) then
   WriteLn('Недостаточно памяти')
 else
 begin
   { Распределяем память в куче }
   GetMem(P, SizeOf(TFriendRec));
   { ...}
   { ... Используем память ... }
   { ...}
   { Освобождаем её при завершении программы }
   FreeMem(P, SizeOf(TFriendRec));
 end;
end.
 
 К началу страницы 
Тэги: FreeMem
 

Код для вставки: :: :: :: ГОСТ ::
Поделиться: //
 



-
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"