AXForum  
Вернуться   AXForum > Microsoft Dynamics AX > DAX: Программирование
All
Забыли пароль?
Зарегистрироваться Правила Справка Пользователи Сообщения за день Поиск

 
 
Опции темы Поиск в этой теме Опции просмотра
Старый 07.11.2020, 21:16   #6  
Logger is offline
Logger
Участник
Лучший по профессии 2015
Лучший по профессии 2014
 
3,889 / 3165 (113) ++++++++++
Регистрация: 12.10.2004
Адрес: Москва
Записей в блоге: 2
В 2012-й аксапте обнаружился неприятный баг.
Если клиент запущен с параметром -noauto или при старте клиента произошла ошибка в new() методе какого-либо системного класса (т.е. он не создался) например (Application, Info, ClassFactory)
то дальше происходит очень неприятная вещь.

Если в коде идет проверка на существование системного класса, например
X++:
if (classFactory)
{
   ...
}
то для клиентского исполнения все ок.
А для серверного происходит ошибка времени выполнения, как будто мы не просто проверяем глобальный экземпляр на существование, но и сразу вызываем на нем метод. Причем try catch это хоть и ловит но выскакивает Message Box, который невозможно подавить параметром командной строки -INTERNAL=NOMODALBOXES

Как следствие в случае проблем с приложением нельзя спокойно запустить клиент с параметром -NOAUTO и сделать глобальную компиляцию. (При компиляции Query идут вызовы методов
\Classes\SysQueryRangeUtil\currentWorker
\Classes\SysQueryRangeUtil\currentRoleHasAccessToPrivate
и.т.п. которые порождают проверку на classFatory и компиляция выдает ошибку с messagebox-ом и компиляция останаливается.
Стек вызовов такой
(S)\Classes\Global\currentWorker - line 15
(S)\Data Dictionary\Tables\DirPersonUser\Methods\currentWorker - line 9
(S)\Classes\SysQueryRangeUtil\currentWorker - line 9
(S)<runtime compiled code>\anytype wrapper(){ return SysQueryRangeUtil::currentWorker(); }
)

Кто-нибудь встречался с подобным поведением ?
Как можно в серверном коде безопасно проверить classFactory на существование ?
X++:
if (classFactory)
приводит к ошибке времени выполнения.

Последний раз редактировалось Logger; 07.11.2020 в 21:50.
Теги
classfactory, noauto, startup command, startuppost

 

Похожие темы
Тема Автор Раздел Ответов Посл. сообщение
АХ 2012 пускает пользователя, когда он исключен из AD igortsk DAX: Администрирование 17 08.05.2015 09:41
Открытие формы, при запуске АХ Ilyaae DAX: Прочие вопросы 1 05.07.2014 00:13
Рабочая область в АХ sukhanchik DAX: Функционал 6 15.10.2009 13:10
Баг формы в АХ связанный с колесом прокрутки мышью Alexius DAX: Прочие вопросы 6 07.10.2009 15:31
Импорт в АХ через ODBC AXbeginer DAX: Программирование 14 02.10.2009 08:12

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход

Рейтинг@Mail.ru
Часовой пояс GMT +3, время: 22:18.
Powered by vBulletin® v3.8.5. Перевод: zCarot
Контактная информация, Реклама.