powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Место поиска intl папки
25 сообщений из 30, страница 1 из 2
Место поиска intl папки
    #39992692
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Где в embedded подключении должна лежать папка intl?

В папке где лежит fbclient.dll
В текущем каталоге
В каталоге процесса?

Такое ощущение, что она ищется в каталоге процесса.

С уважением, Vasilisk
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992696
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

не надо ощущений. берем processmonitor, и смотрим, где кто чего ищет.
Intl - подпапка в корне установки, и 2.5 и 3.0.
Значит, для embedded папка Intl должна быть там, где лежит exe.
А еще может быть переменная среды FIREBIRD, которая должна указывать на корневую папку ФБ.
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992698
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

вообще, на всякий случай:
скачиваем processmonitor, запускаем.
На всех НЕнужных процессах (столбец process name) по очереди жмем правую кнопку, "изыди сатана" Exclude processname.exe.
Потихоньку очищаем лог.
Ваше приложение при этом НЕ должно быть запущено.
Очищаем лог удалением процессов так, чтобы ни при каких шевелениях мышью никакие процессы в procmon больше не вылезали.
Аминь.
Запускаем ваше приложение. Ждем какой-то нужной точки (загрузилось, база открылась, и т.д.).
Жмем в processmonitor иконку с увеличительным стеклом (лупой), это остановит отслеживание файлов и реестра.
Пялимся в лог, смотрим на последовательность, кто чего грузил, смотрел, откуда, и т.д.
Ищем по Ctrl-F, и т.д.
Наслаждайтесь.
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992699
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

насколько я помню - все подкаталоги берутся относительно корневого каталога (путь к fbclient.dll по умолчанию)
Откуда ощущение ? И какая версия FB ?
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992702
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Значит, для embedded папка Intl должна быть там, где лежит exe.
Хотелось все файлы для Embedded установить в отдельную папку, а в приложении написать
Код: pascal
1.
LoadLibrary('PathToFBEmbedded\fbclient.dll')

а теперь вижу, что для нормальной работы все должно быть в папке приложения
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992703
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
Откуда ощущение ?
Игрался с IBEScript.exe и указывал полный путь к fbclient. Не заработало, пока IBEScript не положил в папку Firebird
hvlad
И какая версия FB ?
3.0.6
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992704
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

firebird.conf в папку с fbclient.dll положи
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992705
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Хотелось все файлы для Embedded установить в отдельную папку
и зачем же это? несколько независимых приложений будут использовать один и тот же embedded???
_Vasilisk_Игрался с IBEScript.exe и указывал полный путь к fbclient.
одно дело играться и забыть, что локальное подключение в ФБ 3 это embedded. А другое дело - скинуть в папку приложения (и к embedded) все нужные exe.
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992715
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис
firebird.conf в папку с fbclient.dll положи
Он там и лежит.

Я сейчас просто скачал zip архив FB и распаковал. Пока ничего из папки не удалял
kdv
и зачем же это?
Чтобы бардака не было
kdv
несколько независимых приложений будут использовать один и тот же embedded???
Нет, но не вижу в этом проблемы, если они будут работать с разными базами
kdv
А другое дело - скинуть в папку приложения (и к embedded) все нужные exe.
Почему в папке приложения не может быть папки FBEmbedded?
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992720
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

добавь путь к этой папке в path. Поменяй firebird.conf. задай переменную FIREBIRD.
Но в плане "распространения приложения с эмбеддед" это всё бессмысленные телодвижения.
Embedded - это dll. Твое приложение грузит fbclient.dll, дальше fbclient.dll грузит engine12.dll. По правилам винды.
Или соблюдай правила винды, или вали всё в одну папку (в смысле эмбеддед и приложение).

https://docs.microsoft.com/ru-ru/windows/win32/Dlls/dynamic-link-library-search-order
_Vasilisk_Почему в папке приложения не может быть папки FBEmbedded?
кому именно и каким образом ты хочешь сообщить о наличии этой волшебной папки?
См. выше.
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992722
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Нет, но не вижу в этом проблемы, если они будут работать с разными базами
кроме твоих приложений твоя версия эмбеддед никому не нужна. Если на этот же комп будут установлены другие приложения, которым нужен свой embedded, уж поверь, забивание твоей папки в какие-то пути в первую очередь имеет шансы поломать твой embedded и твое приложение.
Поэтому если у тебя есть комплекс приложений, работающих с одиним и тем же embedded - тоже вали их в одну папку. Некрасиво? да. Не нравится? Делай свои приложения автономными, клади embedded для каждого. Тоже не нравится? тогда ставь сервер ФБ, а не embedded. Который опять же, могут заменить, снести или обновить какие-то другие приложения.
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992730
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvдальше fbclient.dll грузит engine12.dll. По правилам винды.

И вот тут-то я вынужден сказать "к сожалению, нет, плагины грузятся по абсолютному пути и
нет способа загрузить их откуда-либо ещё". Поэтому-то найти место, куда надо засунуть
сторонний плагин чтобы он заработал - задача не из тривиальных.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992768
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
Хотелось все файлы для Embedded установить в отдельную папку, а в приложении написать
Код: pascal
1.
LoadLibrary

LoadLibraryEx(... LOAD_WITH_ALTERED_SEARCH_PATH)
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992981
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
кому именно и каким образом ты хочешь сообщить о наличии этой волшебной папки?
Никому. Приложение о ней знает само и подгружает fbclient именно оттуда. Все, что нужно - чтобы fbclient.dll грузило необходимые ей библиотеки относительно своего пути. И все.
Dimitry Sibiryakov
И вот тут-то я вынужден сказать "к сожалению, нет, плагины грузятся по абсолютному пути и нет способа загрузить их откуда-либо ещё". Поэтому-то найти место, куда надо засунуть
сторонний плагин чтобы он заработал - задача не из тривиальных.
Ну ведь простая то задача. В чем сложность в fbclient прописать такой код загрузки
Код: pascal
1.
2.
3.
homePath = ExtractFilePath(GetModuleName(HInstance));
LoadLibrary(PChar(homePath + 'plugins\engine12.dll'));
LoadLibrary(PChar(homePath + 'intl\fbintl.dll'));
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992983
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_
В чем сложность в fbclient прописать такой код загрузки
А почему ты решил, что он не такой ?
Он, конечно, не совсем такой - отличия я привёл выше.

PS меньше слушай Сибирякова, он часто слабо понимает то, о чём пишет
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992991
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
А почему ты решил, что он не такой ?
Потому что когда я ставил весь Embedded в отдельную папку и указывал полный путь к fbclient мне сообщалось, что неизвестный чарсет Win1251. Т.е. файл intl\fbintl.dll не подгружается. Переписываю экзешник рядом к fbclient - все работает
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39992998
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladменьше слушай Сибирякова

Или наоборот, прекращай фантазировать по отдельным словам и начинай читать предложения
целиком. Внезапно, но я не всегда пишу то, что люди ожидают прочитать.

Dimitry Sibiryakovнайти место, куда надо засунуть сторонний плагин чтобы он заработал - задача не из
тривиальных.
_Vasilisk_Ну ведь простая то задача. В чем сложность в fbclient прописать такой код
загрузки
1) Какое отношение этот код имеет к процитированной задаче?
2) Именно такой код и делает процитированную задачу нетривиальной.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39993016
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

ты правильно загружать клиента пробовал ? Ещё вопросы остались ?
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39993020
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad
ты правильно загружать клиента пробовал ?
Клиента загружает IBEScript.exe
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39993026
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_> Клиента загружает IBEScript.exe

А SetEnvironmentVariable тоже не пробовал использовать?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39993032
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_Т.е. файл intl\fbintl.dll не подгружается.
то есть, мои сообщения не читаем, processmonitor пользоваться не хотим, и т.д. Ну и ладно.
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39993033
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов Рустам
А SetEnvironmentVariable тоже не пробовал использовать?
Нет.

Сам IBExpert замечательно цепляется к базе по Embedded протоколу при указании полного пути к fbclient
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39993048
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
то есть, мои сообщения не читаем, processmonitor пользоваться не хотим, и т.д. Ну и ладно.
Выполняем скрипт
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
EXECUTE IBEBLOCK
AS
BEGIN
  DB = ibec_CreateConnection(
    __ctFirebird,
    'DBName=D:\DB\Temp.fdb;' +
      'User=SYSDBA;' +
      'Password=masterkey;' +
      'Names=WIN1251;' +
      'ClientLib=E:\Embedded\fbclient.dll'
  );
  ibec_CloseConnection(DB);
END;

Настройки ProcessMonitor на скрине. Запускаем из IBExpert видим картинку на скрине. Т.е. fbintl.dll не ищется вообще

Сейчас проверил IBEScript.exe - сегодня он заработал
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39993050
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Собственно картинка от IBEscript.exe
...
Рейтинг: 0 / 0
Место поиска intl папки
    #39993070
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_> Сейчас проверил IBEScript.exe - сегодня он заработал

А поменял-то что?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 30, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Место поиска intl папки
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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