Язык:
Русский
English
GetMem (процедура)
Создает динамическую переменную определенного размера и записывает ее адрес в памяти в указательную переменную.
Объявление
Procedure GetMem(Var P : Pointer; Size : Word);
Режим
Windows, Real, Protected
Замечания
Параметр P - переменная любого указательного типа. Параметр Size - выражение, определяющее размер динамической переменной в байтах. Недавно созданная переменная может быть вызвана как P^.
Если в куче недостаточно свободного пространства для распределения динамической переменной, то происходит ошибка во время выполнения программы.
Ограничения
Самый большой блок, который может быть безопасно распределен в куче равен 65,528 байт (64K-$8).
См. также
Пример
Язык:
Русский
English
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.