Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Вниз

Исключение при неустановленных драйверах   Найти похожие ветки 

 
Анонимщик ©   (2004-07-02 15:17) [0]

Использую IBX
При запуске клиентской программы происходит исключение еще до Application.Run, если драйвера FireBird"а не установлены. Назначение программа, в принципе, не ограничивается работой с БД, поэтому ставить их на клиенте иногда не нужно.
Как можно побороть?


 
Соловьев ©   (2004-07-02 15:24) [1]


>  исключение еще до Application.Run,

зато во время коннекта к БД у тебя же наверное датабейз коннект автоматом коннектится


 
Reindeer Moss Eater ©   (2004-07-02 15:40) [2]

Если библиотеки линкуются статически, то никак.


 
Анонимщик ©   (2004-07-02 15:52) [3]

Соловьев.
Нет.

Reindeer Moss Eater
И что сделать, чтобы поменьше менять?


 
Соловьев ©   (2004-07-02 16:00) [4]


> Нет.

да :)


 
Соловьев ©   (2004-07-02 16:00) [5]


> Нет.

да :)


 
Анонимщик ©   (2004-07-02 16:02) [6]

Я же сказал: нет.


 
Соловьев ©   (2004-07-02 16:05) [7]

берем пишем при Create модуля данных:
try
IBDatabase.Connected := true;
except
end;
и не будет исключения.


 
Reindeer Moss Eater ©   (2004-07-02 16:17) [8]

А зачем создавать модуль данных всегда, если программа не ограничена работой с БД?


 
Анонимщик ©   (2004-07-02 16:24) [9]

Я же сказал уже.
И потом, мне незачем писать
IBDatabase.Connected := true
поскольку при Create я еще пути не знаю.
Ты бы проверил сначала, а потом отвечал.
Просто брось на форму TIBDataBase и больше ничего не делай, кроме билда. А потом запусти экзешник на машине без gds32.dll, и больше не умничай, хорошо?


 
Reindeer Moss Eater ©   (2004-07-02 16:26) [10]

Ты дарагой сам не умничай.
И читай пост № 2


 
Anatoly Podgoretsky ©   (2004-07-02 16:27) [11]

Убрать из проекта БД


 
Анонимщик ©   (2004-07-02 16:28) [12]

Reindeer Moss Eater
Это неважно, создается он как Create или нет. Исключение все равно будет, как Вы правильно заметили, коль компоновка статическая


 
Reindeer Moss Eater ©   (2004-07-02 16:29) [13]

Выход - переписать библиотеку IBX


 
Анонимщик ©   (2004-07-02 16:31) [14]

Reindeer Moss Eater
Это я не Вам писал, а Соловьеву


 
Reindeer Moss Eater ©   (2004-07-02 16:31) [15]

Либо бить свою приладу на DLL/пакеты, выносить все IB-dependent туда, и грузить опционально, проверив наличие gds


 
Анонимщик ©   (2004-07-02 16:33) [16]

Reindeer Moss Eater
Может, чего-то в ее исходниках (IBX) подправить? Мне бы самый простой способ.


 
Соловьев ©   (2004-07-02 16:35) [17]


> Просто брось на форму TIBDataBase и больше ничего не делай,
> кроме билда

ну создавай обьект сам.


 
Reindeer Moss Eater ©   (2004-07-02 16:36) [18]

Ну я в них не глядел.

Но способ-то простой (хотя и трудоемкий)
Найти интерфейс с gds и переписать все на динамический импорт, добаваив процедуру загрузки/инициализации по требованию


 
Соловьев ©   (2004-07-02 16:44) [19]


> Просто брось на форму TIBDataBase и больше ничего не делай,
> кроме билда. А потом запусти экзешник на машине без gds32.dll,
> и больше не умничай, хорошо?


procedure TDm.DataModuleCreate(Sender: TObject);
var ibd: TIBDatabase;
begin
       try
               ibd := TIBDatabase.Create(DM);
               showmessage("gds32.dll есть");
       except
               showmessage("gds32.dll нет");
       end;
end;

запустил на машине где нету библиотеки - все нормально.
ОС XP


 
Reindeer Moss Eater ©   (2004-07-02 16:53) [20]

Глянул в ibintf.pas.
Нету там статического импорта.
Там он динамический.

Главное не допустить вызова
procedure LoadIBLibrary;

раньше, чем это реально надо


 
Анонимщик ©   (2004-07-02 17:48) [21]

Убедили, спасибо.



Страницы: 1 вся ветка

Форум: "Базы";
Текущий архив: 2004.07.25;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.49 MB
Время: 0.044 c
9-1081604918
Дмитрий
2004-04-10 17:48
2004.07.25
Если есть желание делать игры и обмениваться опытом


3-1088755929
Jann
2004-07-02 12:12
2004.07.25
работа с БД


4-1086808364
DjOne
2004-06-09 23:12
2004.07.25
Поиск Компонента


9-1081921850
Мараканец
2004-04-14 09:50
2004.07.25
Шейдеры


14-1088944443
Undert
2004-07-04 16:34
2004.07.25
St.-Petersburg + "W+" +" *DSL" + "Fairy Cow Unlimited"





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский