ВУЗ:
Составители:
Рубрика:
95
Dispose(SaveEkran); { освобождение выделенной памяти }
end.
6.2.2. Процедуры GetMem и FreeMem
В этих процедурах размер запрашиваемой и освобождаемой памя-
ти явно указывается в процедуре.
Для определения необходимого размера выделяемой памяти для
информации различного типа рекомендуется использовать функцию
Sizeof().
GetMem(P, Size) – выделить память размером Size (единовремен-
но не более
65528 байт) и поместить значение начального адреса вы-
деленной области памяти в указатель
P.
FreeMem(P, Size) – освободить выделенную память размером
Size, начальный адрес которой определяется значением указателя P.
Пример 2.
"Летящее красное ядро":
uses Graph, crt;
var
grDriver, grMode, errCode, i : integer;{ переменные для
графики }
Р:pointer; { указатель "на ядро" }
size :word; { размер "области ядра" }
begin
{инициализация графического режима}
grDriver:= Ditect;
InitGraph(grDriver, grMode, '');
errCode:= GraphResult;
if errCode= grOk then begin
{работа в графическом режиме}
size:= ImageSize(9, 20 ,30, 40);{ определяем размер
памяти для "ядра" }
if MaxAvail > size then begin {проверяем есть ли
свободная память }
GetMem(P, size); { выделяем память и начинаем рисовать }
Dispose(SaveEkran); { освобождение выделенной памяти }
end.
6.2.2. Процедуры GetMem и FreeMem
В этих процедурах размер запрашиваемой и освобождаемой памя-
ти явно указывается в процедуре.
Для определения необходимого размера выделяемой памяти для
информации различного типа рекомендуется использовать функцию
Sizeof().
GetMem(P, Size) – выделить память размером Size (единовремен-
но не более 65528 байт) и поместить значение начального адреса вы-
деленной области памяти в указатель P.
FreeMem(P, Size) – освободить выделенную память размером
Size, начальный адрес которой определяется значением указателя P.
Пример 2. "Летящее красное ядро":
uses Graph, crt;
var
grDriver, grMode, errCode, i : integer;{ переменные для
графики }
Р:pointer; { указатель "на ядро" }
size :word; { размер "области ядра" }
begin
{инициализация графического режима}
grDriver:= Ditect;
InitGraph(grDriver, grMode, '');
errCode:= GraphResult;
if errCode= grOk then begin
{работа в графическом режиме}
size:= ImageSize(9, 20 ,30, 40);{ определяем размер
памяти для "ядра" }
if MaxAvail > size then begin {проверяем есть ли
свободная память }
GetMem(P, size); { выделяем память и начинаем рисовать }
95
Страницы
- « первая
- ‹ предыдущая
- …
- 94
- 95
- 96
- 97
- 98
- …
- следующая ›
- последняя »
