Показать сообщение отдельно
Старый 10.03.2016, 14:30   #11  
Владимир Максимов is offline
Владимир Максимов
Участник
КОРУС Консалтинг
 
1,712 / 1201 (44) ++++++++
Регистрация: 13.01.2004
Записей в блоге: 3
Цитата:
Сообщение от vikuss2006 Посмотреть сообщение
для Excel процесс висит бесконечно, да, только из Аксапты вылетает.
Запустите следующий Job

X++:
static void test_Com(Args _args)
{
    Com     comApplication;
    str     ret;
    str     s;
    int     timeNowBegin;
    int     i;
    ;
    
    timeNowBegin = timeNow();
    
    try
    {
        comApplication = new COM("iDocIntegrator.DocOperation");
        if(!comApplication)
        {
            info("error");
            return;
        }

        ret = comApplication.Login("login", "pass", "pass", "D:\key");
        if(!ret)
        {
            for (i=1; i<=10; i++)
            {
                sleep(1*60*1000);   // Задержка в 1 минуту
                info(strFmt('step = %1, time = %2', i, time2str(timeNow()-timeNowBegin, 1, 1)));
                s = comApplication.GetDocInfoList("20160218", "20160218");
                info(s);
            }
        }
        else
        {
            info(ret);
        }
        comApplication = null;
    }
    catch(Exception::Error)
    {
        comApplication = null;
        throw error("Обработка отменена!");
    }

    comApplication = null;
    
    info('end');
}

Цель этого Job - проверить факт автоматической выгрузки Com-объекта из памяти, в случае, если прошло некоторое фиксированное время простоя без обращения к объекту. Как видите, в Job раз в минуту "дергают" объект. Проверьте, отработает ли этот Job до конца все 10 минут без ошибок или произойдет "вылет" через обнаруженные Вами 3..5 минут?
__________________
- Может, я как-то неправильно живу?!
- Отчего же? Правильно. Только зря...