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

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

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

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

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

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

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

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

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

Я сейчас просто скачал zip архив FB и распаковал. Пока ничего из папки не удалял
kdv
и зачем же это?
Чтобы бардака не было
kdv
несколько независимых приложений будут использовать один и тот же embedded???
Нет, но не вижу в этом проблемы, если они будут работать с разными базами
kdv
А другое дело - скинуть в папку приложения (и к embedded) все нужные exe.
Почему в папке приложения не может быть папки FBEmbedded?
...
Рейтинг: 0 / 0
26.08.2020, 22:23
    #39992720
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Место поиска intl папки
_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
26.08.2020, 22:27
    #39992722
kdv
kdv
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Место поиска intl папки
_Vasilisk_Нет, но не вижу в этом проблемы, если они будут работать с разными базами
кроме твоих приложений твоя версия эмбеддед никому не нужна. Если на этот же комп будут установлены другие приложения, которым нужен свой embedded, уж поверь, забивание твоей папки в какие-то пути в первую очередь имеет шансы поломать твой embedded и твое приложение.
Поэтому если у тебя есть комплекс приложений, работающих с одиним и тем же embedded - тоже вали их в одну папку. Некрасиво? да. Не нравится? Делай свои приложения автономными, клади embedded для каждого. Тоже не нравится? тогда ставь сервер ФБ, а не embedded. Который опять же, могут заменить, снести или обновить какие-то другие приложения.
...
Рейтинг: 0 / 0
26.08.2020, 23:03
    #39992730
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Место поиска intl папки
kdvдальше fbclient.dll грузит engine12.dll. По правилам винды.

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

LoadLibraryEx(... LOAD_WITH_ALTERED_SEARCH_PATH)
...
Рейтинг: 0 / 0
27.08.2020, 14:08
    #39992981
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Место поиска intl папки
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
27.08.2020, 14:11
    #39992983
hvlad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Место поиска intl папки
_Vasilisk_
В чем сложность в fbclient прописать такой код загрузки
А почему ты решил, что он не такой ?
Он, конечно, не совсем такой - отличия я привёл выше.

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

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

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

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

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

Сам IBExpert замечательно цепляется к базе по Embedded протоколу при указании полного пути к fbclient
...
Рейтинг: 0 / 0
27.08.2020, 16:24
    #39993048
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Место поиска intl папки
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
27.08.2020, 16:26
    #39993050
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Место поиска intl папки
Собственно картинка от IBEscript.exe
...
Рейтинг: 0 / 0
27.08.2020, 17:12
    #39993070
Гаджимурадов Рустам
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Место поиска intl папки
_Vasilisk_> Сейчас проверил IBEScript.exe - сегодня он заработал

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


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