Процедура GetMem

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

Объявление:

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

Режим: 

Замечания:
Параметр P - переменная любого указательного типа. Параметр Size - выражение, определяющее размер динамической переменной в байтах. Недавно созданная переменная может быть вызвана как P^. Если в куче недостаточно свободного пространства для распределения динамической переменной, то происходит ошибка во время выполнения программы. Ограничения: Самый большой блок, который может быть безопасно распределен в куче равен 65,528 байт (64K-$8).

Пример:

 Uses WinCrt;
 
 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.
 
 

См. также: