На главную Пакет функций буфера (Buffer suite)Функции буфера позволяют размещать и освобождать блоки памяти. Это избавляет от необходимости заранее вычислять необходимый размер памяти, а просто запрашивать ее по мере необходимости. Тип BufferID (описан в модуле PIGeneral.pas): BufferID = integer; Функции: function BufferSpaceProc : integer; cdecl; Функция возвращает доступный для буферизации размер памяти. Память может быть фрагментирована, поэтому может не получиться разместить сразу большой блок. function AllocateBufferProc (size : integer; var bufID : BufferID) : OSErr; cdecl; Функция возвращает идентификатор буфера требуемого размера. При успешном размещении функция возвращает значение noErr и ошибку при неудаче. procedure FreeBufferProc (bufID : BufferID); cdecl; Функция освобождает память, используемую под буфер. Очень часто возникают ошибки при использовании идентификатора bufID после освобождения памяти. function LockBufferProc (bufID : BufferID; moveHigh : Boolean) : pointer; cdecl; Функция блокирует возможные перемещения буфера в памяти и возвращает его адрес. Параметр moveHigh используется только в Mac OS и используется для перемещения буфера в старшую область памяти во избежание его фрагментации. procedure UnlockBufferProc (bufID : BufferID); cdecl; Функция разблокирует буфер. Количество блокирований подсчитывается и, пока не будет совершено соответствующее число разблокирований, буфер не будет разблокирован. Назад | Содержание | Вперед
© Ярослав Музыкантов muzykantov@mail.ru |