Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

Форум «Всё о Паскале» _ Задачи _ Использование директивы $l

Автор: -=АнЮтА=- 17.12.2006 19:47

1. С помощью утилиты BINOBJ.EXE (входящей в дистрибутив Турбо Паскаля) преобразовать BGI файл в OBJ-

BINOBJ EGAVGA.BGI EGAVGA.OBJ EGAVGADriverProc - как вызвать эту процедуру, в командной строке виндовс пишет что она не найдена, хотя она есть....

Очень нужно преобразовать файл)

Автор: volvo 17.12.2006 19:59

Ты бы написала, где у тебя установлен TP, и где находится файл EGAVGA.BGI, а то для общего случая замучаешься объяснять, куда перейти и как чего делать...

Автор: Гость 17.12.2006 20:30

Паскаль стоит как обычно C:\tp и binobj.exe там точно есть, я проверяла. Как преобразовать из командной строки, может я что-то неправильно делаю? Пробовала Litt.chr в Litt.obj такая же получается ошибка - типа не является системной командой или не найти файл

Автор: volvo 17.12.2006 20:39

Цитата
C:\TP\BINOBJ C:\TP\EGAVGA.BGI C:\TP\EGAVGA.OBJ EGAVGADriverProc
(если BGI файл находится в другой папке - напечатай полный путь к ней)

Результат - файл OBJ - ищи в папке C:\TP\

Автор: Гость 17.12.2006 20:40

А litt.chr в BIN находится

Автор: Гость 17.12.2006 20:42

А для Liit.chr будет процедура LittDriverProc?
Подскажите пожалуйста, очень нужно)

Автор: volvo 17.12.2006 20:57

Да какая же разница, КАК ты ее назовешь? Хоть вот так:
MySuperPuperFontToUseWithTurboPascalVersion7

Главное - прилинковать ее с тем же именем ...

Автор: Гость 17.12.2006 20:59

Просто получается это имя процедуры которую дальше использовать можно,да?

Автор: Гость 17.12.2006 21:01

Млин, я наверно столько глупых вопросов задаю.... blink.gif Спасибо за ответы good.gif

Автор: -=АнЮтА=- 17.12.2006 21:21

Файл преобразовался) Спасибо, теперь попробую его использовать в программе

{$L LITT.OBJ}
Procedure LittFontProc; External; - подскажите еще что значит External? И LittFontProc - Это просто название процедуры или какая-то спец процедура в Паскаль?

Автор: volvo 17.12.2006 23:30

Цитата(-=АнЮтА=- @ 17.12.2006 16:21)
что значит External? И LittFontProc - Это просто название процедуры или какая-то спец процедура в Паскаль?

External вот как раз и значит, что эта "процедура" (на самом-то деле это никакая не процедура, а просто преобразованый файл, но компилятору совершенно не обязательно об этом знать, пусть считает, что мы подключаем, например, процедуру, написанную на ассемблере и откомпилированную в OBJ-файл) - не находится в текущем PAS файле, а она - внешняя ...

А LittFontProc - это и есть то имя (которое может быть абсолютно любым, но только допустимым с точки зрения Паскаля), которое использовалось третьим параметров при конвертации через BINOBJ (если эти два имени будут отличаться - будет ошибка линковки...)

Автор: -=АнЮтА=- 18.12.2006 17:21

Подскажите,что делать если не может найти файл LITT.OBJ хотя он отлинкован верно и находится в BGI директории, как указать к нему путь?