Не работает вызов System.MessageDialog в событие OnTimer на карточке wnd_IncidentsGridArea.
Не работает вызов System.MessageDialog в событие OnTimer на карточке wnd_IncidentsGridArea. Стек вызова:
TSScriptUtils.TSScriptUtils.TScriptUtils.MessageDialog ()
TSScriptUtils.TSScriptUtils.TScriptUtils.MessageDialog ()
TSAutomationObject.TSAutomationObject.TAutomationObject.Invoke ()
TSScript.TSScript.TScript.ExecuteMethod ()
TSScriptableService.TSScriptableService.TScriptableService.ExecuteScriptMethod ()
TSWindow.TSWindow.TWindow.ExecuteScriptMethod ()
TSObjectEventsDispatcher.TSObjectEventsDispatcher.TObjectEventsDispatcher.AttemptToExecuteScriptMethod ()
TSObjectEventsDispatcher.TSObjectEventsDispatcher.TObjectEventsDispatcher.Invoke ()
TSConnectionPoints.TSConnectionPoints.TConnectionPointDispatcher.Invoke ()
Comobj.DispatchInvokeError ()
Comobj.DispatchInvokeError ()
TSTimer.TSTimer.TTimer.DoTimer ()
TSTimer.TSTimer.TTimer.OnTimer ()
JvTimer.JvTimer.TJvTimer.Timer ()
JvTimer.JvTimer.TJvTimer.DoTimer ()
Classes.TDataModule.WriteHeight ()
Вызывающий код:
System.MessageDialog("Не проставлены группы у новых инцидентов!", mdtInformation, mdbOK, 0);
}
Клиент: 3.4.0.141
Нравится
Здравствуйте, Михаил!
Проверил на последней версии исполняемых файлов, - ошибку не воспроизвел.
Попробуйте:
1) Очистить Cache приложения (%appdata%\Terrasoft\3.4.0\Cache)
2) Обновить исполняемые файлы до последней версии (3.4.0.190) и воспроизвести проблему повторно.
Получить обновленную сборку Вы можете по запросу в техническую поддержку (support@terrasoft.ru).
[URL=http://fastpic.ru/][IMG]http://i66.fastpic.ru/big/2014/1215/b1/7f951477…]
Спасибо. Создал обращение. Пока протестировал еще и на 3.4.0.180, те же симптомы, окно сообщения создается из обычного события, но не создается из события тика.
Здравствуйте.
До 3.4.0.190 обновился, кэш чистил, ничего не помогло. Меня беспокоит, что с новым клиентом не поставляется обновления для сервисов, потому что если в дебаге посмотреть описание сервисов, то там стоит старая версия.
1) Обновлений для сервисов нет в 3.4.0.190?
2) System.MessageDialog вызывался из таймера? Можно выложить файл сервиса где был тест проведен? Ошибка уровня ядра, не проявляется если вызывать не из таймера.
Здравствуйте, Михаил.
Нет, обновления сервисов отсутствуют, я использую базовую конфигурацию версии 3.4.0.130 (продукт XRM Distribution + Service Desk) и бинарные файлы 3.4.0.190.
System.MessageDialog вызывался из таймера.
Прикладываю сервисы wnd_IncidentsGridArea и wnd_IncidentsGridAreaScript.
Дополнительно прикладываю скриншоты:
[URL=http://fastpic.ru/][IMG]http://i63.fastpic.ru/big/2014/1217/bd/4687bfd0…]
[URL=http://fastpic.ru/][IMG]http://i63.fastpic.ru/big/2014/1217/4f/164ba997…]
Спасибо, разобрался. Загруженные сервисы то же падают, но реже. Идут два сообщения подряд, скорей всего wnd_IncidentsGridArea используется в деталях тоже. Похоже с некоторой вероятностью одновременное асинхронное вызывание окна дает падение. После того как вынес код в wnd_Workspace, сообщение стало одно за тик и никогда не падает.