Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / firebird 307 x64 / 7 сообщений из 7, страница 1 из 1
10.12.2020, 00:47
    #40026192
Роман_123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
firebird 307 x64
Доброго всем, поставил сервер х64 пробую скомпилить x64 приложение на Delphi 10.2 используя библиотеки IBX пишет не найдена библиотека ibclient64.dll, когда устанавливал фб то поставил галочку создать dll скопировал ее в папку с х64 ехе переименовывал и в fbclient.dll и fbclient64.dll и ibclient64.dll все равно никак,
че ей ей надо то?
...
Рейтинг: 0 / 0
10.12.2020, 01:35
    #40026208
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
firebird 307 x64
Роман_123че ей ей надо то?

Interbase. Потому что IBX это неё и с Firebird работать не обязано.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.12.2020, 01:37
    #40026209
Роман_123
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
firebird 307 x64
Dimitry Sibiryakov,

ага ясно, а что обязано?
...
Рейтинг: 0 / 0
10.12.2020, 02:00
    #40026213
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
firebird 307 x64
Роман_123,

firedac, например. FIBplus.

Вообще с ibclient64.dll система такая. У IBX имена библиотек жестко зашиты в код - gds32.dll и ibclient64.dll.
В Firebird есть специальная утилита командной строки - instclient. Которая или прописывает в систему fbclient.dll, или превращает fbclient.dll в gds32.dll посредством изменения версии в описании либы, и тоже прописывает в систему.
Это потому, что ibx проверяет версию либы, и она должна быть больше 6.0.
Так вот. Понятно что 32-разрядный instclient берет 32разрядную fbclient.dll и превращает в 32разрядную gds32.dll.
Но вот я совсем не уверен (и надо бы проверить) что делает 64битный instclient. Вероятно делает то же самое, только с 64битным fbclient.dll. Если это так, то тогда получившийся 64битный gds32.dll как раз надо переименовать в ibclient64.dll.
Однако - определить разрядность dll это проблема еще та, для этого используются только внешние (по отношению к винде) инструменты.
самый простой способ - по заголовку (hex-вьювером или даже блокнотом) 32 = PE L, 64 = PE d†

p.s. в винде сообщение о "длл не той разрядности" приложения выдают как "не найдена библиотека", про не ту разрядность никогда не пишется, такие дела.
...
Рейтинг: 0 / 0
10.12.2020, 02:15
    #40026215
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
firebird 307 x64
kdvp.s. в винде сообщение о "длл не той разрядности" приложения выдают как "не найдена
библиотека", про не ту разрядность никогда не пишется, такие дела.

Пишется. Просто некоторые программисты не утруждают себя выводом полного сообщения об
ошибке, ограничиваясь кодом класса
Код: pascal
1.
except showmessage('error happened'); end;


У меня, например, сообщение об ошибке выглядит примерно так:
Firebird client initialization failed. fbclient.dll is not valid Win32
application.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
10.12.2020, 02:59
    #40026222
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
firebird 307 x64
Dimitry Sibiryakov,

не. откуда там вообще берется file not found? Ну фиг знает, я в этом плане код IBX не смотрел.
...
Рейтинг: 0 / 0
10.12.2020, 09:14
    #40026252
alekcvp
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
firebird 307 x64
Dimitry Sibiryakov
Просто некоторые программисты не утруждают себя выводом полного сообщения об
ошибке, ограничиваясь кодом класса
Код: pascal
1.
except showmessage('error happened'); end;



Ага, половина винды таким макаром написано и бесит неимоверно.
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / firebird 307 x64 / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]