Тема: Снова ActiveX
Показать сообщение отдельно
Старый 20.08.2008, 11:07   #20  
MikeR is offline
MikeR
MCT
Аватар для MikeR
MCBMSS
Лучший по профессии 2015
Лучший по профессии 2014
 
1,628 / 627 (24) +++++++
Регистрация: 28.11.2005
Адрес: просто землянин
Самое интересное в этой ситуации, что нет возможности определить что же за компонент не дает спокойно спать. Спасибо Денису (gloome) за наводку где копать.
Ибо при запуске аксапты не работает отладчик
Предлагаю алгоритм решения данной задачи
В классе Global пишем
X++:
static void callStack2log()
{
    container               stack = xSession::xppCallStack();
    counter                 n;
    TreeNodePath            stackPath;
    int                     line;
    FileName                fn = 'C:\\Log.txt';
    Commaio                 io= new Commaio(fn,'W');
    ;
    io.outFieldDelimiter("====");
    io.inFieldDelimiter("===");
    io.outRecordDelimiter('===');
    for (n = 3; n <= conLen(stack); n += 2)
    {
        stackPath = conPeek(stack,n);
        line      = conPeek(stack,n+1);

        if (line)
        {
            io.write(strfmt("stackPath %1 line %2", stackPath, line));
        }
        else
        {
            io.write(strfmt("stackPath %1", stackPath));
        }

    }
}
добавляем этот метод в класс Info
X++:
Exception add(
    Exception _exception,
    str _txt,
    str _helpUrl = '',
    SysInfoAction _sysInfoAction = null,
    boolean buildprefix = true)
{
    SysInfologLevel infologLevel = this.infologLevel();
    int numOfLines,i;
    ;
   // callStack2log();
    switch (infologLevel)
    {
тестируем
X++:
static void TestInfolog(Args _args)
{
    ;
    info("OK");

}
В моем случае это была форма smmPhone с компонентом CmxPhone, который находится в \Axapta\Client\Bin\smmPhone.ocx
Компонент оказался зарегестрирован.
Далее поиски по журналу ошибок привели к сопоставлению возникновения ошибки и выключенной службы Телефония. Запустив которую мы избавились от ошибки.
Вот собственно и все.
__________________
Axapta book for developer