|  11.01.2007, 13:42 | #1 | 
| Участник | Переполнение исполнения кода 
			
			Всем привет, При выполнении джоба возникает ошибка времени выполнения "Переполнение во внутреннем стеке исполнения кода" если NestingLevel больше 400. Код: static void JobNestingLevel(Args _args)
{
    ClassA  a, b;
    int     i;
    #define.NestingLevel(401)
    ;
    i = 0;
    a = new ClassA();
    while (i < #NestingLevel)
    {
        b = new ClassA();
        a.addChild(b);
        i = i + 1;
    }
}
//Такой вот ClassA:
class ClassA
{
    ClassA    child;
    void addChild(ClassA _node)
    {
        ;
        if (child)
        {
            child.addChild(_node);
        }
        else
        {
            child = _node;
        }
    }
}используются методы подобные addChild и возникают некоторые траблы, у кого-нибудь повторяется? | 
|  | 
|  11.01.2007, 13:47 | #2 | 
| NavAx | 
			
			Да, есть ограничение на количество вложенных вызовов. Рекурсию лучше не использовать, т.к. приводит к трудновоспроизводимым багам
		 
				__________________ Isn't it nice when things just work? | 
|  | 
|  11.01.2007, 14:51 | #3 | 
| Участник | 
			
			Установка самого последней версии MDAC (Microsoft Data Access Components) расширяет этот предел, насколько мне известно. (если база MS SQL) Это не решение, но может удовлетворить вашу конкретную задачу. | 
|  | 
|  11.01.2007, 14:54 | #4 | 
| Участник | 
			
			Думаю что MDAC может повлиять только на вложенность рекурсий на скуле и врядли на вложенность рекурсий в Аксапте.. Вообще для аксапты этот предел достаточно большой - какая у вас вложенность структуры интересно??
		 | 
|  | 
|  11.01.2007, 16:58 | #5 | 
| Участник | Цитата: 
		
			Сообщение от MironovI
			
			 Вообще для аксапты этот предел достаточно большой Цитата: 
		
			Сообщение от MironovI
			
			 какая у вас вложенность структуры интересно?? вроде как стандартный, класс RAssetFamilyTreeNode строит структуру рекурсией, достигает количества рекурсивного вызова 400 и не зависая и не ругаясь ошибкой просто прекращает выполнять код, аксапта 3.00 сп4. | 
|  | 
|  11.01.2007, 17:52 | #6 | 
| Moderator | 
			
			Что-то похожее было при работе со спецификациями, но там предел наступал гораздо раньше.
		 | 
|  |