Проблема подключения COM объекта
В Axapata 3.0 подключаю стороннюю библиотеку для получения банковской выписки, выполняю job вида:
try{
COMApplication = new COM("iDocIntegrator.DocOperation");
if(!COMApplication)
{
info("error");
}
ret = COMApplication.Login("login", "pass", "pass", "D:\key");
if(!ret)
{
s = COMApplication.GetDocInfoList("20160218", "20160218");
}
else
{
info(ret);
}
info(s);
COMApplication = null;
}
catch(Exception::Error)
{
COMApplication = null;
throw error("Обработка отменена!");
}
Первые 5 минут данные получены, выводятся на экран, в логе рядом с dll пишет, что подключение происходит и данные получены, в программе "procexp" видно как dll загружена при запуске джобика, но через несколько минут в том же "procexp" видно, что dll сама по себе выгружается из памяти, после чего Аксапта при следующем запуске джобика начинает ругаться Access violation 0х0000000, а при дальнейших запусках джобика Аксапта вообще закрывается. Удивило, что среди функций библиотеки есть только функции получения данных, функция Login, а вот никакого закрытия или выхода не предусмотрено. Вместе с библиотекой в комплекте шел пример Excel, который успешно применяет данную библиотеку, без ошибок. Разработчики посмотрели логи и отписались, что проблемы в Аксапте, ведь их пример excel мол работает.
|