RegisterBGIDriver (функция) (модуль Graph)

Язык:
Русский
English

 RegisterBGIDriver (функция)    (модуль Graph)


Передаёт графической системе указатель на драйвер устройства, находящийся в оперативной памяти, например, встроен в исполняемый файл программы.

Объявление

 Function RegisterBGIDriver(Driver : Pointer) : Integer;

Режим

Real, Protected

Замечания

Драйвер должен быть зарегистрирован перед обращением к InitGraph.

Если происходит ошибка, то функция возвращает значение меньшее нуля, иначе возвращается внутренний номер драйвера в системе.

Эта подпрограмма дает возможность пользователю загрузить и зарегистрировать драйвер, передавая его расположение в памяти в функцию RegisterBGIDriver. При вызове InitGraph, будет использоваться этот драйвер, вместо загружаемого с диска модулем Graph. Зарегистрированный пользователем драйвер может быть загружен с диска в кучу (heap) или преобразован в *.OBJ файл (с помощью BINOBJ.EXE) и скомпонован с *.EXE

Возвращает ошибку grInvalidDriver, если заголовок драйвера не распознан.

Программа из примера загружает драйвер CGA драйвер в кучу, регистрирует его в графической системе и вызывает InitGraph.

Программа загружает файл драйвера CGA с диска, регистрирует его. Затем вызывается InitGraph, чтобы инициализировать графическую систему. При желании, вы можете встроить несколько драйверов непосредственно в ваш *.EXE файл. Таким образом, графические драйверы, которые необходимы для работы вашей программы, будут встроены в неё.

Встроить драйвер в вашу программу можно так:

  • Запустить программу binobj.exe или bgiobj.exe на файле драйвера.
  • Скомпоновать полученный *.OBJ файл с вашей программой.
  • Зарегистрировать файл драйвера перед вызовом InitGraph

Смотри также

Пример

Язык:
Русский
English


 { Пример программы для функции RegisterBGIDriver }

uses Graph;

var
  Driver, Mode : Integer;
  DriverF      : File;
  DriverP      : Pointer;
begin
 { Загружаем и регистрируем файл драйвера }
  Assign(DriverF, 'CGA.BGI');
 Reset(DriverF, 1);
 GetMem(DriverP, FileSize(DriverF));
 BlockRead(DriverF, DriverP^, FileSize(DriverF));
 if RegisterBGIDriver(DriverP) < 0 then
 begin
   WriteLn('Ошибка регистрации драйвера: ', GraphErrorMsg(GraphResult));
   Halt(1);
 end;
 { Инициализируем графику }
  Driver := CGA;
  Mode := CGAHi;
  InitGraph(Driver, Mode, '');
 if GraphResult < 0 then
   Halt(1);
  OutTextXY(GetMaxX div 2, GetMaxY div 2, 'Driver loaded successfully');
 ReadLn;
  CloseGraph;
end.
Тэги: RegisterBGIdriver
| G+
Код для вставки: :: :: :: ::
Поделиться: // //