Anna писал(а):Спасибо большое! Сам скрипт работает нормально, но, если скрипт выполняется по условию пока открыто окно, при переходе на другие окна приложения, вьювер выдает ошибку приложения: Инструкция по адресу "0х004572f5" обратилась к памяти по адресу "0х50da0092". Память не может быть "read". И после нажатия ок вьювер закрывается. Также если закрываю вьювер, возникает другая ошибка:
InTouch OLE Automation Error: 0x100e0301.
Error processing 'unknown)' in method call (init). Internal InTouch Error - RT_OLE_E_ACTION_NOT_INIT.
Окошко ошибки закрывается только после трех или четырех нажатий ок и выскакивает другое окно:
Shutdown WindowViewer: view.exe - Ошибка приложения.
Инструкция по адресу "0х004572f5" обратилась к памяти по адресу "0х50da0092". Память не может быть "read".
Я перенесла скрипт на окно, которое постоянно открыто при работе приложения и скрипт там отрабатывается пока открыто это окно, удалось избежать одной проблемы, при переходе на другие окна вьювера, ошибки приложения не появляется. Но при закрытии вьювера таже ошибка возникает, что и в первом случае.
Так как я не совсем понимаю, как работает этот скрипт, не могу написать условие, которое бы останавливало его работу при закрытии окна, в котором он должен работать.
Помогите еще, пожалуйста, спасибо!
Anna писал(а):есть операторская панель контроллера...
Anna писал(а):MEXAHuK
Да, вы совершенно правы, я это и имела в виду, что команда пинг относительно долго выполняется, просто подробно не написала. Спасибо за совет, попробую обязательно )
Klinkmann_Msk
Панель примерно такая, но это неважно
http://automation-drives.ru/as/download ... Line_r.pdf
не суть, просто есть окно, где отображено все оборудование и эта панель в том числе, состояние оборудования, то есть работает или нет, все просто ) Проблема была лишь в том, что ни мне, ни моим коллегам ни в 8, ни в 9 интаче не приходилось сталкиваться с такой задачей.
Спасибо вам еще раз! С наступающим Новым Годом и Рождеством и всего вам самого хорошего! )
Function: PING (asynchronous)
Arguments
IP Message
OLE_CreateObject(%WS,"Wscript.Shell");
RESULT = %WS.Run ("ping -n 1 "+IP,0,1);
OLE_ReleaseObject (%WS);
Call PING("192.168.0.100");
Anna писал(а):Я наверное не знаю как асинхронность функции выставить
Я упорно вешаю этот скрипт на окно по условию While Showing, потому что не хочу обременять систему лишним процессом. Это не настолько значимый процесс, чтобы он выполнялся постоянно пока открыт вьювер, достаточно чтобы он работал пока открыто окно ) Там даже не одна панель, а две и еще два сервера будут опрашиваться таким способом, а машины на объекте слабей чем у меня, боюсь что притормаживать будут...
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 48