Модераторы: volvo877, Snowy, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Программа использующая модуль GRAPH, не работает без файлов .BGI :( 
V
    Опции темы
karataev
  Дата 29.1.2006, 12:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Я тут обнаружил такую неудобную вещь: когда создал программу, рисующую геометрические фигуры, она в папке с Паскалем работает нормально, а как только скопировал ее в другую папку, она открывается и сразу же закрывается. Обнаружил, что ей нужны файлы с расширением .BGI из папки паскаля (как я понял, видеодрайвера?).

Можно ли сделать так, чтобы программа работала самостоятельно, чтобы не нужно было таскать в папку с ней файлы .BGI??? smile
PM MAIL WWW ICQ   Вверх
volvo877
Дата 29.1.2006, 13:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



smile
Сконвертируй BGI в OBJ (при помощи \BIN\BINOBJ.EXE), и прилинкуй эти OBJ-файлы к EXE-шнику директивой {$L name}... Тогда все, что нужно - будет сразу включено в EXE файл, и ничего таскать не нужно будет...
PM MAIL   Вверх
karataev
Дата 29.1.2006, 13:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Спасибо smile
PM MAIL WWW ICQ   Вверх
karataev
Дата 29.1.2006, 15:10 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Сконвертировать у меня получилось, прилинковать - нет. Не делал этого никогда. Можешь описать это поподробнее, привести в пример код?
PM MAIL WWW ICQ   Вверх
volvo877
Дата 29.1.2006, 15:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Комодератор
Сообщений: 2073
Регистрация: 15.11.2004

Репутация: 2
Всего: 116



Сконвертировал:
Цитата
BINOBJ EGAVGA.BGI EVAVGA.OBJ EGAVGADriverProc

и подключаешь OBJ файл к программе:
Код
{$L EGAVGA.OBJ}
Procedure EGAVGADriverProc; External;
...
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.
Все, теперь заботиться о наличии BGI файла не нужно, он включен в EXE...
PM MAIL   Вверх
karataev
Дата 29.1.2006, 15:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Спасибо большое, разобрался smile
PM MAIL WWW ICQ   Вверх
armageddon
Дата 31.1.2006, 16:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 117
Регистрация: 9.11.2005
Где: 239

Репутация: нет
Всего: нет



а чего вы мучаетесь?
разве нельзя просто в initgraph полность прописать путь драйвера?
лично у меня проги работают не зависимо от их положения в папках компьютера
PM MAIL   Вверх
karataev
Дата 1.2.2006, 11:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 56
Регистрация: 28.1.2006
Где: Россия, Нижний Но вгород

Репутация: нет
Всего: нет



Цитата

лично у меня проги работают не зависимо от их положения в папках компьютера


Так все равно это подразумевает что драйвер на компе должен быть. Да еще и в определенной папке. А если у кого то его нет? smile
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi"
THandle
Rrader
volvo877

Запрещается!

1. Обсуждать и делится взломанными компонентами или программным обеспечением

2. Публиковать ссылки на варез

3. Оффтопить

  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, THandle, Rrader, volvo877.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Object Pascal: кроссплатформенные технологии | Следующая тема »


 




[ Время генерации скрипта: 0.2117 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.