◊ | |
www.udomlya.ru | Медиа-Центр | Удомля КТВ | Старый форум |
24.05.2006, 00:57 | #1 |
Пользователь
Регистрация: 26.04.2006
Адрес: Амстердам!!!
Сообщений: 48
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
TP
Вот нашел статью Как вставить BGI дpайвеp в пpогpамму:
Подробное, по шагам, описание технологии встраивания BGI драйверов в тело паскальной программы. Как вставить BGI дpайвеp в пpогpамму: 1 шаг: Конвеpтиpуешь BINOBJ-ем BGI в obj файл binobj egavga.bgi egavga egavga 2 шаг: Вставляешь такую диpективу в пpогpамму: {$L egavga} -- Включить внешний файл 3 шаг: Объявляешь внешнюю пpоцедуpу EGAVGA procedure EGAVGA; external; 4 шаг: Регистpиpуешь ее и дальше pаботаешь как обычно: procedure OpenGraph; var D, M, E: Integer; begin if RegisterBGIdriver(@EGAVGA) < 0 then begin Writeln('Error registering driver: ', GraphErrorMsg(GraphResult)); Halt(1); end; DetectGraph(D,M); InitGraph(D, M, ''); E := GraphResult; if E <> grOK then begin Writeln('Open graphics error: ', GraphErrorMsg(E)); Halt(1); end; end; (c)Сеpгей Бадаев master@oilgas.tyumen.su Мне не понятно что такое BINOBJ? Если это прога то где её моно взять. |
24.05.2006, 01:39 | #2 |
Пользователь
Регистрация: 26.04.2006
Адрес: Амстердам!!!
Сообщений: 48
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Все сконвертировать смог, но прога почему-то ругается в самом конце:
51 Invalid PUBLIC definition.....(В умной книжке посматрел что за ошибка:Некоректное Public-определение.) А че ето значит непонял |
25.05.2006, 20:16 | #3 |
Пользователь
Регистрация: 26.04.2006
Адрес: Амстердам!!!
Сообщений: 48
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Блмн куда делись все програмёры??? Мне прогу в Субботу здавать нуно... для пущей важности надо запихнуть этот гр****ый egavga в уже скомпилиною прогу. Помогите кто знает???
|
26.05.2006, 07:49 | #4 |
Местный
|
Прога эта из стандартного набора Турбо-Паскаля версий MS-DOS (ну и других Borland-разработок).
|
26.05.2006, 11:57 | #5 |
Новичок
Регистрация: 04.05.2006
Сообщений: 14
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Ошибка в 37 строке.
|
26.05.2006, 11:58 | #6 |
Новичок
Регистрация: 04.05.2006
Сообщений: 14
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Ты хоть бы код показал.
|
26.05.2006, 16:12 | #7 |
Новичок
Регистрация: 15.05.2006
Адрес: Удомля
Сообщений: 2
Вы сказали Спасибо: 0
Поблагодарили 1 раз в 1 сообщении
|
Объявление внешней процедуры должно быть примерно таким:
program OpenGraph; uses Graph; procedure EGAVGA; external; {$L egavga} У меня с этим проблем не было. |
26.05.2006, 17:32 | #8 |
Пользователь
Регистрация: 26.04.2006
Адрес: Амстердам!!!
Сообщений: 48
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Блин лана поставлю вопрос по другому кто умеет при компеляции Pascal программы засунуть в неё драйвер egavga? Потому что иначе с прогой приходится таскать этот тупой драйвер.
зы Надеюсь побыстрей услышать ответ т.к. здавать прогу завтро в 9:00 |
26.05.2006, 18:25 | #9 |
Новичок
Регистрация: 04.05.2006
Сообщений: 14
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Посмотрел в интернете, т.к. ничего уже не помню.
Всё, что написано выше должно работать. 1. Ставишь всем egavga.bgi атрибут "только для чтения". 2. Обжимаешь из командной строки "binobj egavga.bgi egavga.obj egavgaDriverProc" 3. Дкларируешь в начале программы {$L EGAVGA.OBJ} Procedure EGAVGADriverProc; External; 4. Далее: ... Var grDriver, grMode, ErrCode: Integer; ... Begin If RegisterBGIDriver(@EGAVGADriverProc) < 0 Then Begin WriteLn('Error registering driver : ', GraphErrorMsg(GraphResult)); Halt(100) End; grDriver := VGA; grMode := VGAHi; InitGraph(grDriver, grMode, ''); ErrCode := GraphResult; If ErrCode <> grOk Then Begin WriteLn('Graphics error : ', GraphErrorMsg(ErrCode)); Halt(100) End; ... End. Взял отсюда: http://volvo1971.nm.ru/home/faq.htm. Ошибка 51 может появляться, если ты неправильно точку входа опубликовал при "binobj egavga.bgi egavga.obj egavgaDriverProc". Собственно egavgaDriverProc. |
26.05.2006, 20:14 | #10 |
Пользователь
Регистрация: 26.04.2006
Адрес: Амстердам!!!
Сообщений: 48
Вы сказали Спасибо: 0
Поблагодарили 0 раз(а) в 0 сообщениях
|
Спасибо, Все получилось =)
|
Здесь присутствуют: 1 (пользователей: 0 , гостей: 1) | |
|
|