| Yoko http://forum.yoko.com.ua/ |
|
| Трабла с UO.Exec('terminate ...') http://forum.yoko.com.ua/viewtopic.php?f=20&t=4398 |
Page 1 of 1 |
| Author: | Don SpiL [ 2005-07-04 07:34:25 ] |
| Post subject: | Трабла с UO.Exec('terminate ...') |
Собсна сабж.К примеру если есть такой саб... Code: sub main() Так вот если в определенный момент времени условие в сабе control становиться истинным то саб main теминейтиться! пральна ? ДА! - НО!! Если в этот момент процедура main вызвалал процедуру fgonext() и та в свою очередь еще не закончилась то терминейт main НЕ происходит!! Хелпните парни =( мож я че торможу ? |
|
| Author: | 666Man666 [ 2005-07-04 09:48:13 ] |
| Post subject: | |
Поставь, поможет ) Code: UO.Exec('terminate all')
|
|
| Author: | Don SpiL [ 2005-07-04 10:05:50 ] |
| Post subject: | |
666Man666 wrote: Поставь, поможет )
Code: UO.Exec('terminate all')=( В том то все и дело что мне ненада тушить все!! мне надо тушить только определенные сабы! а вот иногда не пашет. 2Yoko - думаю проблема глобальна и требует твоей помощи! Я вот думаю как мне описать чтоб саб не выполнялся пока не потухнет другой (заданный саб). |
|
| Author: | 666Man666 [ 2005-07-04 10:49:41 ] |
| Post subject: | |
Ну поставь не ALL а свой MAIN Code: UO.Exec('terminate main') а чтобы не запускался другой саб если не потухнит этот, ставь глобалки... Code: If UO.GetGlobal('Check')<>'on' Then
|
|
| Author: | Askaneli [ 2005-07-04 11:01:06 ] |
| Post subject: | |
Я не понял конечно почему не тушится Но раз уж не тушится, то можно через те же самые глобальные переменные и тушить процедуру. |
|
| Author: | Don SpiL [ 2005-07-04 11:02:34 ] |
| Post subject: | |
666Man666 wrote: Ну поставь не ALL а свой MAIN
Code: UO.Exec('terminate main') а чтобы не запускался другой саб если не потухнит этот, ставь глобалки... Code: If UO.GetGlobal('Check')<>'on' ThenСпасиб всем!! Первый варинт болеее надежнее второго! хотя второй тоже норм но не дает гарнтии того что тот саб всетки потухнет. Я решил траблу малость по другому.Хоть саб fgonext() и не виден как запущенный всерно делаю его терминейт перед терминейтом main и... алилуйя заработало =)) Еще раз всем СПС!!! |
|
| Author: | Don SpiL [ 2005-07-04 11:08:19 ] |
| Post subject: | |
Askaneli wrote: Я не понял конечно почему не тушится
Но раз уж не тушится, то можно через те же самые глобальные переменные и тушить процедуру. Нукс расскажи мне ламеру =)))) как можно через те-же глобальные переменные потушить саб ?Ну к примеру при старте того саба что нуно потушить он задает гл.переменную=on в начале и off в конце саба! пральна?,так ты хотел устроить? А дальше ?ну проверим мы гл.переменную и увидим что она "on" пытаемся ее терминейт! а до какого события будем слать терминейт сабу main, как ты узнаешь что она действительно в дауне ?! |
|
| Author: | flake [ 2005-07-04 11:10:54 ] |
| Post subject: | |
цикл с вейтов, пока не измениться глобальная переменная. |
|
| Author: | Don SpiL [ 2005-07-04 11:58:45 ] |
| Post subject: | |
flake wrote: цикл с вейтов, пока не измениться глобальная переменная. Хорошо! к примеру после второго теминейта саб уйдет в даун и как теперь понять что он в дауне? - ведь сетглобал офф стоит в том сабе который мы собственно и тушим!, а если мы его потушили то собсна и сетглобал не пройдет и останеться = on! или ставить фор на на штук 10 циклов проверки после чего считать саб потушенным:cry:?
И еще нюанс! cаб main у меня циклический !! |
|
| Author: | Askaneli [ 2005-07-04 12:05:16 ] |
| Post subject: | |
Блин Ну не бывает такого чтоб не тушилась процедура. У меня большое количество скриптов где основная процедура в 5 строчек а всё делают дочерние, которые в свою очередь ещё вызывают процедуры. Гашу главную скрипт весь останавливается. |
|
| Author: | Don SpiL [ 2005-07-04 12:12:06 ] |
| Post subject: | |
Askaneli wrote: Блин
Ну не бывает такого чтоб не тушилась процедура. У меня большое количество скриптов где основная процедура в 5 строчек а всё делают дочерние, которые в свою очередь ещё вызывают процедуры. Гашу главную скрипт весь останавливается. Ну ты пойми!! яж не выдумываю! у мя тоже все именно так и построено!! да и вапче у всех норм кодеров так и должно быть =). Но сам факт есть факт !! причем я не говорю что она всегда не тухнет, но 50/50 потухнет или нет! И всетаки мне пришлость вписать в терминейт именно те сабы которые были вызваны мейном а потом только тушить сам мейн, и вот тогда все сто процентно!! И еще чтоб не путать народ у меня основной саб не main а control . |
|
| Author: | Wahoocka [ 2005-07-04 12:30:32 ] |
| Post subject: | |
А разве нельзя вставить это проверку Code: if uo.life<100 then в твою вызываемую функцию "fgonext()" ?? если условие совпадет, то там уж сам решай что тебе нужно Code: uo.exec('terminate main')или Code: UO.Exec('terminate all')
|
|
| Author: | Askaneli [ 2005-07-04 12:33:26 ] |
| Post subject: | |
Don SpiL wrote: Askaneli wrote: Блин Ну не бывает такого чтоб не тушилась процедура. У меня большое количество скриптов где основная процедура в 5 строчек а всё делают дочерние, которые в свою очередь ещё вызывают процедуры. Гашу главную скрипт весь останавливается. Ну ты пойми!! яж не выдумываю! у мя тоже все именно так и построено!! да и вапче у всех норм кодеров так и должно быть =). Но сам факт есть факт !! причем я не говорю что она всегда не тухнет, но 50/50 потухнет или нет! И всетаки мне пришлость вписать в терминейт именно те сабы которые были вызваны мейном а потом только тушить сам мейн, и вот тогда все сто процентно!! И еще чтоб не путать народ у меня основной саб не main а control . Я те говорю что тухнет в 100% случаев |
|
| Author: | Don SpiL [ 2005-07-05 05:25:32 ] |
| Post subject: | |
Ладно парни всем спасибо!! Те способы что все мы тут изложили это изврат!! не стабильный изврат! Я надеялся что у Yoko есть какая нить функция для проверки на живость саба З.Ы. Самый реальный форум по кодингу для УО. Только вот жаль что про RunUO мало кто что пишет |
|
| Page 1 of 1 | All times are UTC+02:00 |
| Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |
|