19.11. Подключение новых драйверов

Из средств модуля Graph мы не рассмотрели до сих пор функцию

InstallUserDriver( DriverFileName : String;

AutoDetectPtr : Pointer ) : Integer

которая позволяет работать с самыми разными графическими контроллерами, для которых написаны специальные драйверы в стандарте BGI, а также добавлять новые драйверы. Однако для этого надо сначала написать этот драйвер. Такая задача достаточно сложна, требует специальных знаний в области аппаратного обеспечения ПЭВМ и стандартов BGI, и поэтому описание ее решения выходит за рамки нашей книги. Если же имеется какой-либо дополнительный BGI-драйвер (например, отладочный), то его можно использовать, подключив функцией InstallUserDriver. Первый параметр — это имя файла, содержащего драйвер, второй — адрес функции без параметров, опрашивающей аппаратную часть и возвращающей значение типа Integer. Отрицательное значение функции должно означать ошибку, неотрицательное — номер режима работы по умолчанию. Сама функция должна компилироваться в режиме {$F+}, Функция InstallUserDriver вернет либо отрицательный код ошибки, либо номер установленного драйвера, который затем нужно передать на первом месте процедуре инициализации InitGraph. Пример таких действий имеется в контекстной подсказке системы программирования.