Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Firebird 2.5 embedded и закрытие программы приводит к выбросу исключения
|
|||
|---|---|---|---|
|
#18+
Извиняюсь если не в этот форум... Среда разработки Delphi XE8, Firebird embedded 2.5.5.26952 Все прекрасно работает до момента закрытия программы. В главной форме закрываются обращенеи к базе данных, ошибок нет. Но в уже непонятно в какой момент выбрасывает Access violetion по адресу XXX. Естественно в отладцике ассемблерного кода там все запонено нулями. Решил во время работы проверить, что за код там располагается и неожиданно открыл, что там оказывается часть кода из MSVCR80.dll, функция _endthreadex. Кто-нибудь с такими минами дело имел? Или может я не правильно финализацию из embedded делаю (может какой мануал по этому делу пропустил)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:09 |
|
||
|
Firebird 2.5 embedded и закрытие программы приводит к выбросу исключения
|
|||
|---|---|---|---|
|
#18+
svd, Похоже на отсутствие вызова fb_shutdown() в конце работы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:17 |
|
||
|
Firebird 2.5 embedded и закрытие программы приводит к выбросу исключения
|
|||
|---|---|---|---|
|
#18+
svd, нужно вызвать fb_shutdown перед выгрузкой библиотеки\закрытием приложения ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:17 |
|
||
|
Firebird 2.5 embedded и закрытие программы приводит к выбросу исключения
|
|||
|---|---|---|---|
|
#18+
Спасибо за помошь!!! для начала попытался что либо в сети про эту функцию найти и почитать (так как в компонентах прямого вызова пока не обнаружил). Но тут нагуглил описание из релизноута ( http://www.firebirdsql.org/rlsnotesh/rlsnotes25.html ) Important for Application Developers fb_shutdown() does not perform a shutdown of a remote server to which your application might be concurrently attached. In fact, all of the Firebird client libraries—including the one in embedded— call it automatically at exit() , as long as the client is attached to at least one database or service. Hence, it should never be called by a client in the context of a remote attachment . Как я понимаю на франзуском, вызов функции производится автоматически из exit(). То бишь как бы все уже должно было быть реализовано. А последняя строчка о вызове к удаленному серверу натолкнула на мысль, что в этом то как раз и дело: перед ошибкой буквально изменил строку соединения на содинение с удаленным сервером, ибо неудобно каждый раз стороннего клиента отключать. За одно исследования привели меня на firebirdsql.org, где я обнаружил последнюю версию 2.5.6.27020, у которой такого эффекта уже нет. Протестировал и с embedded, и с удаленным подключением - полет нормальный. Спасибо большое за помощь. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.07.2016, 16:58 |
|
||
|
|

start [/forum/topic.php?fid=40&tid=1562068]: |
0ms |
get settings: |
7ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
76ms |
get topic data: |
12ms |
get forum data: |
2ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
| others: | 282ms |
| total: | 448ms |

| 0 / 0 |
