Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Firebird, InterBase Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
 Re: FibPlus 6.9.9 и FB4 фсё? sic transit gloria mundi  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 610
Gallemar,

Это удобно везде. Т.к. я устанавливаю переменные из программы, и они действуют только на приложение.
В ini-файле указываю путь к fbclient.dll, и относительно этого пути указываю переменные окружения.
19 окт 21, 13:52    [22385470]     Ответить | Цитировать Сообщить модератору
 Re: FibPlus 6.9.9 и FB4 фсё? sic transit gloria mundi  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11465
Gallemar
Шавлюк Евгений
У себя проблему с путями решил установкой переменных окружения "FIREBIRD" и "FIREBIRD_MSG"
Это удобно на сервере продуктива
Это нигде не удобно.
Установка переменных - всегда некоторый геммор и лучше сделать так, чтобы всё работало "искаропки".
19 окт 21, 15:06    [22385504]     Ответить | Цитировать Сообщить модератору
 Re: FibPlus 6.9.9 и FB4 фсё? sic transit gloria mundi  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 610
Basil A. Sidorov
Gallemar
пропущено...
Это удобно на сервере продуктива
Это нигде не удобно.
Установка переменных - всегда некоторый геммор и лучше сделать так, чтобы всё работало "искаропки".


Оно так и работает. "искаропки".
В ini указывается папка с клиентской библиотекой

  fb_lib := MainIniFile.ReadString('SYSTEM', 'firebird', '');
  if fb_lib <> '' then
  begin
    fb_lib := ExpandFileName(fb_lib);
    SetGlobalEnvironment('FIREBIRD', fb_lib);
  end else
    fb_lib := GetFirebirdPath;

  if not DirExists(fb_lib) then
    fb_lib := ''
  else
    AddDllDirectory(fb_lib);

  SetGlobalEnvironment('FIREBIRD_MSG', GetGlobalEnvironment('FIREBIRD'));


Внутри SetGlobalEnvironment вызывается SetEnvironmentVariable, устанавливаем переменные окружения для текущего процесса
The SetEnvironmentVariable function sets the value of an environment variable for the current process.

Внутри AddDllDirectory вызывается SetDllDirectoryW, добавляем папку с библиотекой для поиска dll
Adds a directory to the search path used to locate DLLs for the application.
19 окт 21, 15:25    [22385514]     Ответить | Цитировать Сообщить модератору
 Re: FibPlus 6.9.9 и FB4 фсё? sic transit gloria mundi  [new]
Гаджимурадов Рустам
Member

Откуда:
Сообщений: 63459
Переменные окружения можно устанавливать для конкретного
приложения, а не только глобальные (на уровне системы).

Posted via ActualForum NNTP Server 1.5

19 окт 21, 16:43    [22385553]     Ответить | Цитировать Сообщить модератору
 Re: FibPlus 6.9.9 и FB4 фсё? sic transit gloria mundi  [new]
Basil A. Sidorov
Member

Откуда:
Сообщений: 11465
Шавлюк Евгений
Оно так и работает. "искаропки".
Искаропки оно будет тогда, когда у клиента окажется необходимый минимум файлов, а не то, что кому-то показалось.
19 окт 21, 19:31    [22385610]     Ответить | Цитировать Сообщить модератору
 Re: FibPlus 6.9.9 и FB4 фсё? sic transit gloria mundi  [new]
Шавлюк Евгений
Member

Откуда: Одесса
Сообщений: 610
Basil A. Sidorov,

Я с приложением поставляю необходимый минимум
В папке с приложением лежит папка fbclient, а в ней:
+ fbclient
intl\
plugins\
fbclient.dll
firebird.conf
firebird.msg
gbak.exe
ib_util.dll
icudt52.dll
icudt52l.dat
icuin52.dll
icuuc52.dll
msvcp100.dll
msvcr100.dll
Readme.txt
zlib1.dll


Так что все есть.
И вместе с описанным мною выше все работает без каких-либо проблем
19 окт 21, 23:19    [22385653]     Ответить | Цитировать Сообщить модератору
 Re: FibPlus 6.9.9 и FB4 фсё? sic transit gloria mundi  [new]
Дегтярев Евгений
Member

Откуда: Барнаул
Сообщений: 2093
Basil A. Sidorov
Это удобно на сервере продуктива
Это нигде не удобно.[/quot]
не надо кидаться в крайности и решать за всех )
20 окт 21, 06:21    [22385677]     Ответить | Цитировать Сообщить модератору
 Re: FibPlus 6.9.9 и FB4 фсё? sic transit gloria mundi  [new]
inoremap
Member

Откуда:
Сообщений: 55
Шавлюк Евгений
Так что все есть.
И вместе с описанным мною выше все работает без каких-либо проблем

Тоже применял размещение клиентских библиотек Firebird в отдельном каталоге, несколько лет все работало хорошо, но в последнее время, по невыясненным причинам, у некоторых пользователей внезапно перестает загружаться "fbclient.dll". Исправляется перемещением файлов "msvcp100.dll" и "msvcr100.dll" в каталог с .exe приложения.
20 окт 21, 11:09    [22385753]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2]      все
Все форумы / Firebird, InterBase Ответить