HOME ПРИМЕРЫ THANKS НОВИЧКАМ ДОКИ LINKS JavaScript Mail | |||
| |||
|
Turbo Pascal Documentation | ||
Фукнция: Устанавливает размер оверлейного буфера. Описание: 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 |