Страница 1 из 1

Ошибка "Assertion failure"

Добавлено: Ср 29 июл 2020 15:56
yuryleon77
Добрый день!
Исходные данные: студия - Embarcadero 10.1 Berlin; ODAC - версия 10.3.9; БД - Oracle 18c; соединение - direct.
В приложении используется библиотека наложения цифровой подписи. Всё общение приложения с БД построено на вызове пакетных процедур. Соответственно, использую компонент TOraStoredProc. После наложения подписи (инициализирую библиотеку, делаю необходимые вызовы, освобождаю библиотеку) при любом обращении к базе вылетает ошибка (см. файл). Вылетает при очистке компонента FreeAndNil(StoredProc):

Код: Выделить всё

procedure TPkMop.GetStoreProc;
begin
  if Assigned(StoredProc) then
    FreeAndNil(StoredProc);
  StoredProc := TOraStoredProc.Create(nil);
  StoredProc.AutoCommit := False;
  StoredProc.Session := Session;
end;
StoredProc.Free тоже не помогает. С чем связана такая завязка на сторонние библиотеки?
Спасибо

Re: Ошибка "Assertion failure"

Добавлено: Пт 31 июл 2020 15:43
MaximG
Пожалуйста составьте и пришлите нам исходный код простейшего тестового проекта, воспроизводящего описываемую проблему. Это удобно сделать с помощью формы e-support https://www.devart.com/company/contactform.html

Re: Ошибка "Assertion failure"

Добавлено: Пн 17 авг 2020 15:17
yuryleon77
Выслал архив с тестовым примером через форму e-support.

Re: Ошибка "Assertion failure"

Добавлено: Вт 18 авг 2020 15:40
MaximG
Мы получили Ваш тестовый пример и приступили к его исследованию

Re: Ошибка "Assertion failure"

Добавлено: Пт 28 авг 2020 08:45
yuryleon77
Добрый день! Проблему удалось решить своими силами. После вызова конкретной процедуры, сразу же освобождаю TOraStoredProc компонент. Все ссылки вовремя уничтожаются (если использовались Blob-поля в нашем случае) и ошибка ушла.

Re: Ошибка "Assertion failure"

Добавлено: Пн 31 авг 2020 14:05
MaximG
Мы рады, что Вы нашли необходимое решение. Обращайтесь к нам по любым вопросам, связанным с использованием наших продуктов