Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.07.25;
Скачать: CL | DM;

Вниз

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

 
Анонимщик ©   (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;
Скачать: CL | DM;

Наверх




Память: 0.51 MB
Время: 0.025 c
1-1089341742
Sun bittern
2004-07-09 06:55
2004.07.25
IStorage и RTTI


1-1089433992
set
2004-07-10 08:33
2004.07.25
Приостановка цикла для ввода дополнительных данных


1-1089695944
bobj
2004-07-13 09:19
2004.07.25
Обработка TreeView


1-1089409823
nick_mas
2004-07-10 01:50
2004.07.25
Как отключить процедуру RadioButton1.Click для "Down" и "Up"???


14-1088722657
kaif
2004-07-02 02:57
2004.07.25
Философские вопросы