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

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

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


Создает динамическую переменную определенного размера и записывает ее адрес в памяти в указательную переменную.

Объявление

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

Режим

Windows, Real, Protected

Замечания

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

Если в куче недостаточно свободного пространства для распределения динамической переменной, то происходит ошибка во время выполнения программы.

Ограничения

Самый большой блок, который может быть безопасно распределен в куче равен 65,528 байт (64K-$8).

См. также

Пример

Язык:
Русский
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.
Тэги: GetMem
| G+
Код для вставки: :: :: :: ::
Поделиться: // //