Доброе время суток.
Ситуация следующая. Использую InTouch 10.0.2. Windows XP SP3.
Существует АРМ. На значительном удалении от АРМа находится БД ORACLE. Все события,аварии и действия оператора с АРМа записывались в БД при помощи "стринговых" тегов.Значения этих тегов формировались согласно определенных правил Data Change-скриптом.Воздействием для запуска data change скрипта был тег LastAlarmString, который тесно связан с библиотекой WWXTALM.DLL. В тег LastAlarmString "залетало" любое событие происходящее в Viewer'e будь то авария, или действия оператора и т.д.
В процессе работы выяснилось, что при использовании InTouch 10.0.2 и библиотеки WWXTALM.DLL,а следовательно, и LastAlarmString возникают ошибки менеджера памяти (WWHEAP), которые ведут к невозможности дальнейшей работы Viewer'a.По этому поводу есть официальный ответ от техподдержки klinkmann.
Для решения выше указанных проблем необходимо отказаться от WWXTALM.DLL и LastAlarmString. Отсюда возникает вопрос - как можно реализовать вызов скрипта формирования тега для записи в БД при появлении любого нового события в системе?
Использование встроенной функции в ActiveX AlarmViewer запуска события NewAlarm не подходит,так как запускается только 1 раз в секунду независимо от того сколько событий произошло за эту секунду, да и предназначено оно только для алармов.