HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail


 
В этот день много лет назад...
24 апреля. В 1944 году (80 лет назад) - В СССР Западный фронт разделяется на 2-й и 3-й Белорусские фронты.
 
 

Turbo Pascal Documentation

Процедура OvrSetBuf

Модуль Overlay


     Фукнция: Устанавливает размер оверлейного буфера.
     Описание: OvrSetBuf(разм_буфера : longint)
     Примечания: Параметр "разм_буфера" должен  быть  больше
или равен начальному размеру оверлейного буфера и меньше или
равер MemAvail + OvrGetBuf. Начальный размер оверлейного бу-
фера  представляет  собой  размер,  возвращаемый  процедурой
OvrGetBuf перед обращениями к OvrSetBuf. Если заданный  раз-
мер превышает текущий размер, то из начала динамически расп-
ределяемой области добавляется дополнительная память, и, та-
ким образом, размер динамически распределяемой области памя-
ти уменьшается. Если же заданный размер меньше текущего,  то
избыточное пространство присоединяется к динамически распре-
деляемой области.
     Процедура OverSetBuf требует, чтобы динамически распре-
деляемая область памяти была пустой. Если с помощью процедур
New  и GetMem уже выделены динамические переменные, то  воз-
никает  ошибка. Поэтому необходимо убедиться в том, что про-
цедура  OvrSetBuf  используется  перед   вызовом   процедуры
InitGraph,  поскольку  процедура InitGraph выделяет память в
динамически распределяемой области, после чего все обращения
к процедуре OvrSetBuf игнорируются.
     Если для увеличения размера оверлейного буфера  вы  ис-
пользуете  процедуру OvrSetBuf, то для соответствующего уве-
личения минимального размера динамически распределяемой  об-
ласти в программу необходимо также включить директиву компи-
лятора M.
     Возможные ошибки могут быть получены с помощью перемен-
ной  OvrResult.  Значение ovrOk говорит об успешном заверше-
нии, ovrError - о том, что процедура OvrInit завершилась  не
удачно или не была вызвана, что значение "разм_буфера" слиш-
ком мало или что для увеличения размера  оверлейного  буфера
не хватает памяти.
     Прочее:   См.  также  процедуры   OvrGetBuf,   OvrInit,
OvrInitEMS.
     Пример:

{M 16384,65536,655360 }
  use Overlay;
  const
    ExtractSize = 49152; { 48K }
  begin
    OvrInit('EDITOR.OVR');
    OvrSetBuf(OvrGetBuf + ExtactSize);
  end.




HOME