| Результаты опроса: Каков результат? | |||
| Ошибка компиляции | 
		 | 
	6 | 35.29% | 
| Повисшая Аксапта | 
		 | 
	10 | 58.82% | 
| Упавшая Аксапта | 
		 | 
	1 | 5.88% | 
| Ошибка времени выполнения | 
		 | 
	0 | 0% | 
| Голосовавшие: 17. Вы ещё не голосовали в этом опросе | |||
| 
		 | 
	Опции темы | 
| 
			
			 | 
		#1 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
			
			
			рекурсия макроса
			 
			
			Как вы думаете, какой будет результат такого джоба? 
		
		
		
		
		
		
		
	X++: static void JobMacro(Args _args) { ; #localmacro.recurse #recurse #endmacro #recurse }  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: S.Kuskov (2). | |
| 
			
			 | 
		#2 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			результат такого джоба у всех один: 
		
		
		
		
		
		
			Ctrl+Alt+Del -> Ax32.exe -> Завершить процесс ))) 
				__________________ 
		
		
		
		
		
			  Что сломалось не знаем, но уже немного подчинили...
			Последний раз редактировалось hated8; 16.04.2010 в 17:02.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Axapta 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Естественно, Аксапта зависнет на этапе компиляции. В чем вопрос?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
		
		 
			
			"естественно" 
		
		
		
		
		
		
		
	то есть Вы считаете, что разработчики Аксапты не рассматривали такой возможности?  | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Axapta 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну да, было бы неплохо, если бы компилятор умел обрабатывать такую ситуацию. Видимо не рассматривали. Только вряд ли это сколько-нибудь серьезная проблема. Или я не прав?
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Я создавал когда-то такой баг в нашей системе. 
		
		
		
		
		
		
			
		
		
		
		
	Сказали, что отследить с текущим компилятором это непросто, а позитивный эффект от фикса минимальный, а соответственно смысла фиксить нет, и я, в принципе, с ними согласен.  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 ---------------- 
		
			
	 | 
	
	
	
		
		
			
			
			Вы думаете я сплю? А я не сплю - я думаю.
			 Цитата: 
	
		
			Сказали, что отследить с текущим компилятором это непросто, а позитивный эффект от фикса минимальный, а соответственно смысла фиксить нет.
		
	 
Удивляет, что ее решили. Наверное, еще когда система не попала к специалистам Microsoft. (у кого есть 2.5 проверьте там, плиз, как работает джоб). Вы, господа, нетерпеливы. Стоило подождать 15 минут и вы бы получили ошибку компиляции. А если ждать так долго неохота, то добавьте пару строчек кода в макрос после рекурсии и время ожидания сократится на порядок. Еще можно попробовать добавить пару строчек в макрос до рекурсии и получите... правильно, тоже ошибку компиляции, но другую и моментально. Только 3 из 13 угадали ответ. Поздравляю! Интересно, кто эти люди, которые еще верят в скрытые возможности Аксапты? (я тоже ответил неправильно) Итог. Если при компиляции вы получили одну из ошибок: -8 Макрокоманда слишком сложна 15 Внутренний объектный код не должен превышать 64Кб то скорее всего у вас макросы зациклились и получилась бесконечная рекурсия.  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: Logger (1), DSPIC (1). | |
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Ну, справедливости ради, в опросе не указывалось, как долго должна висеть Аксапта. А она именно висит, как оказывается, 15 минут.  
		
		
		
		
		
		
			
		
		
		
		
	Так что все 13 правы  
		 | 
| 
	
 | 
| Теги | 
| ошибка компиляции | 
| 
	
	 | 
	
			 
			Похожие темы
		 | 
	||||
| Тема | Ответов | |||
| Рекурсия, память | 10 | |||
| Выборка с помощью макроса | 5 | |||
| Расширение макроса InventDimJoin | 3 | |||
| Отладка макроса | 7 | |||
		
  |