| Yoko http://forum.yoko.com.ua/ |
|
| Как сделать проверку выключения скрипта? http://forum.yoko.com.ua/viewtopic.php?f=3&t=7211 |
Page 1 of 1 |
| Author: | Sanch [ 2006-03-31 15:47:33 ] |
| Post subject: | Как сделать проверку выключения скрипта? |
Собсно хочу чтобы мои скрипты работали стабильнее, скрипт можно вырубить uo.exec('terminate *****'), но это вещь оч не надежная как можно сделать проверку выключения скрипта и можно ли вообще это сделать. что то вроде: nac: uo.exec('terminate *****') wait(1000) if not uo.exec('terminate *****') then goto nac endif Зарание благодарю за помощь. |
|
| Author: | Sfagnum [ 2006-03-31 15:49:39 ] |
| Post subject: | Re: Как сделать проверку выключения скрипта? |
не было нарицаний на эту команду. узнать мжн ток извратами - но ИМХО они ещё менее надёжны... |
|
| Author: | Grin [ 2006-03-31 16:03:30 ] |
| Post subject: | |
пусть скрипт пишет в глобальную переменую время второй проверяет если дельта больше то значит скрипт умер;) |
|
| Author: | Sanch [ 2006-03-31 16:53:19 ] |
| Post subject: | |
Из того что сказал Грин не понял ни слова и решил оставить все без изменений |
|
| Author: | Destruction [ 2006-03-31 19:21:07 ] |
| Post subject: | |
Sanch wrote: Из того что сказал Грин не понял ни слова и решил оставить все без изменений
Это он общую идею выразил, вообще всё чуточку понятнее, чем сказал грин ЗЫ: Лучше делать поменьше финтов - скрипт будет дольше жить. ЗЫЫ: Пример проверки выключения скрипта (один из извратов). Code: Sub MainOne() Инструктирую как пользовать - запускаем сначала функцию MainOne (он сразу же в переменную изи записывает true), затем MainTwo, затем произносим "terminate MainOne" - первый саб реагирует на эту фразу и завершается, перед завершением записав в переменную изи false, тем временем второй саб, увидев что в переменной (1) изи уже ложь - выходит из цикла, и сообщает, об отключении такой-то функции. Старался объяснить доступным языком, но кажеться загнул. PS: Кто-бы, что-бы там не говорил, я настоятельно не рекомендую использовать (set|get)Global, а рекомендую использовать (set|get)EasyUO, на мой взгляд она намного стабильнее (первая вероятно пишет куда-то во внутреннюю память, которая в итоге забивается, а вторая пишет в реестр, а там места много, один из плюсов - сведения в реестре никуда после выключения инжекта не денуться... ну не должны -)) PPS: Чтобы использовать (set|get)EasyUO необходимо создать соответсвующую ветку в реестре ИЛИ установить EasyUO, чтобы открыть редактор реестра - Start (Пуск) -> Run (Выполнить) -> RegEdit, дальше создаёте соответсвующую ветвь (если её нету, инжект при использовании команд (set|get)EasyUO будет ругаться на отсутствие необходимой ветки в реестре, непремянув сказать какой именно). |
|
| Author: | Grin [ 2006-03-31 19:45:36 ] |
| Post subject: | |
ктото еще говорил что инджорнал очень глючный... |
|
| Author: | Sanch [ 2006-03-31 19:55:56 ] |
| Post subject: | |
Не знаю насчет инджорнала, но за помощь большое спс, вообще сам я не проверял надежность терминейта. просто видел много скриптов где один и тоже же скритп терминейтится 3 раза подряд, подумал это не с спроста, еще раз большое спасибо. |
|
| Author: | Grin [ 2006-03-31 20:09:17 ] |
| Post subject: | |
если нужно терминейтить из самого сприпта то юзай return |
|
| Author: | Sanch [ 2006-04-01 17:27:39 ] |
| Post subject: | |
А чуть подробнее можно как терминейтить через ретёрн? |
|
| Author: | Grin [ 2006-04-01 17:33:00 ] |
| Post subject: | |
return вызывается только в теле скрипта который надо завершить по условию... тоесть Code: while not uo.Dead() хоть тут и бесконечный цикл, но он все равно закончится если жизней тсанет меньше 50 |
|
| Author: | Sanch [ 2006-04-01 17:51:43 ] |
| Post subject: | |
Ясно, спасибо... |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|