28.05.2014, 22:11 | #1 |
Участник
|
axforum blogs: SysEventHandler epic bug
Источник: http://axforum.info/forums/blog.php?b=8129
============== В AX2009 и AX2012 есть, на мой взгляд эпический, баг с SysEventHandler-ом. Может это копипаста, может что-либо еще, но похоже, что начиная, как минимум, с 2009-й, эта функция не работала. Совсем. А проблема в лишнем восклицательном знаке в проверке переменной stopRequested в методе SysEventHandler.runHandler(). Из-за него обработка событий прекращалась на первом же цикле. С AX2012 вообще непонятно - запуск SysEventHandler-а из Application.new() удалили, и нет признаков, что он запускается откуда-то еще. Как будто это жест отчаянья - раз не удается заставить работать - удалим, и дело с концом... У кого-нибудь есть соображения по этому поводу? Источник: http://axforum.info/forums/blog.php?b=8129
__________________
Расскажите о новых и интересных блогах по Microsoft Dynamics, напишите личное сообщение администратору. |
|
|
За это сообщение автора поблагодарили: gl00mie (3). |
30.05.2014, 16:10 | #2 |
Читатель
|
Цитата:
Сообщение от Blog bot
Источник: http://axforum.info/forums/blog.php?b=8129
============== В AX2009 и AX2012 есть, на мой взгляд эпический, баг с SysEventHandler-ом. Может это копипаста, может что-либо еще, но похоже, что начиная, как минимум, с 2009-й, эта функция не работала. Совсем. А проблема в лишнем восклицательном знаке в проверке переменной stopRequested в методе SysEventHandler.runHandler(). Из-за него обработка событий прекращалась на первом же цикле. С AX2012 вообще непонятно - запуск SysEventHandler-а из Application.new() удалили, и нет признаков, что он запускается откуда-то еще. Как будто это жест отчаянья - раз не удается заставить работать - удалим, и дело с концом... У кого-нибудь есть соображения по этому поводу? Источник: http://axforum.info/forums/blog.php?b=8129 |
|
30.05.2014, 18:12 | #3 |
Участник
|
Он и в 2009-й как-то глючно работает
Классы от RunBaseReport и класс Thread Если из под себя запустить то работает. А если при старте аоса ядром, то фиг там. Очень странно глючит и куча вещей которые должны работать - не работают. Я им поиграл и забил Ненадежный инструмент. |
|
30.05.2014, 18:46 | #4 |
Читатель
|
Цитата:
Сообщение от Logger
Он и в 2009-й как-то глючно работает
Классы от RunBaseReport и класс Thread В принципе, можно его заставить работать в среде с несколькими AOS. Нужно, во-первых, добавить в SysEvent столбец с номером сервера, и включить его в отбор событий. Во-вторых, надо сделать try...catch при выполнении события, либо и событие выполнять в отдельном Thread. Ну и, конечно же, убрать Thread::getThisThread(). |
|
|
За это сообщение автора поблагодарили: Logger (3). |
19.10.2017, 07:02 | #5 |
Участник
|
Цитата:
Сообщение от b_nosoff
Интересный тред, не находил его раньше.
В принципе, можно его заставить работать в среде с несколькими AOS. Нужно, во-первых, добавить в SysEvent столбец с номером сервера, и включить его в отбор событий. Во-вторых, надо сделать try...catch при выполнении события, либо и событие выполнять в отдельном Thread. Ну и, конечно же, убрать Thread::getThisThread(). В системной сессии которая стартует с запуском АОС thread не может создается в принципе. Поэтому никаких обработчиков не существует. Единственно что она успевает сделать это почистить SysEvent до попытки создания thread. Вот соответственно вопрос. А существует ли инструмент в четверке который может заставить выполнить чтото на конкретном АОСе? Ну кроме запуска клиента подключенного к конкретному АОСу. |
|
Теги |
sysevent, syseventhandler, thread |
|
|