Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.49 MB
Время: 0.054 c
14-1088866556
DeadMeat
2004-07-03 18:55
2004.07.25
Часы


1-1089616108
mochoni
2004-07-12 11:08
2004.07.25
считать строки из текстового файла


6-1085740049
Tr0sT
2004-05-28 14:27
2004.07.25
Отсутствие компонентов TClientSocket и TServerSocket


14-1088169388
Jeer
2004-06-25 17:16
2004.07.25
Пятничный блуд:))


3-1088409404
Users
2004-06-28 11:56
2004.07.25
Получение спика поставщиков данных




   Наверх