Процедура 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.
См. также: