Вверх ↑
Этот топик читают: Гость
Ответов: 3851
Рейтинг: 159
#1: 2008-05-28 14:39:36 ЛС | профиль | цитата
Оказывается нельзя запустить остановленный ранее таймер из собственного же потока, только используя Thread или такой же таймер в режиме одновибратора:code_9163.txt. Предлагаю дополнить help..
карма: 0
начавший
0
файлы: 1code_9163.txt [1.4KB] [223]
Разработчик
Ответов: 26305
Рейтинг: 2146
#2: 2008-05-28 14:49:19 ЛС | профиль | цитата
Андрей. писал(а):
только используя Thread или такой же таймер


А вот так, кто мешает сделать



Add(Hub,15603545,406,210)
{
link(onEvent1,4500356:doStop,[(451,216)(451,248)(313,248)(313,223)])
}
Add(Timer,4500356,329,210)
{
Point(onStop)
link(onTimer,11096599:doEvent,[])
link(onStop,4500356:doTimer,[(393,223)(393,184)(314,184)(314,216)])
}
Add(Debug,11096599,371,210)
{
WEName="t"
VDName=""
link(onEvent,15603545:doEvent1,[])
}


карма: 22

0
Ответов: 3851
Рейтинг: 159
#3: 2008-05-28 14:59:17 ЛС | профиль | цитата
nesco писал(а):
А вот так, кто мешает сделать
не закончивший работу поток, запущенный таймером..
Грубо говоря - мне надо возобновить работу таймера только когда событие, им инициированное, отработает полностью.
карма: 0
начавший
0
Разработчик
Ответов: 26305
Рейтинг: 2146
#4: 2008-05-28 15:16:39 ЛС | профиль | цитата
Андрей. писал(а):
Грубо говоря - мне надо возобновить работу таймера только когда событие, им инициированное, отработает полностью

Здрасте вам!
Ну что ты в самом деле, точку на doStop ниже не можешь прицепить, что ли



Add(MainForm,12594612,259,147)
{
Left=20
Top=105
}
Add(Hub,15603545,336,217)
{
link(onEvent1,1874070:doFor,[])
link(onEvent2,4500356:doStop,[(380,230)(380,262)(244,262)(244,230)])
}
Add(Timer,4500356,259,217)
{
Point(onStop)
link(onTimer,11096599:doEvent,[])
link(onStop,4500356:doTimer,[(323,230)(323,191)(244,191)(244,223)])
}
Add(Debug,11096599,301,217)
{
WEName="t"
VDName=""
link(onEvent,15603545:doEvent1,[])
}
Add(For,1874070,406,217)
{
End=1000
IncludeEnd=1
link(onEvent,10939789:doEvent,[])
}
Add(Debug,10939789,469,217)
{
}


------------ Дoбавленo:


Событие на следующую точку хаба поступит только тогда, когда законаться все цепочка действий на текущей точке
карма: 22

2
Голосовали:Konst, Andrey
Ответов: 3851
Рейтинг: 159
#5: 2008-05-28 16:55:20 ЛС | профиль | цитата
Вообще-то - да..
Я боялся, что таймер перезапустит поток, даже не проверил..

карма: 0
начавший
0
Администрация
Ответов: 15295
Рейтинг: 1519
#6: 2008-05-29 13:54:10 ЛС | профиль | цитата
Андрей., Timer работает через сообщения Windows и выполняется в потоке основного процесса, т.е. синхронно со всем остальным. Он физически не может инициировать событие раньше, чем оно будет закончено.
карма: 27
2
Голосовали:Konst, Andrey
Ответов: 3851
Рейтинг: 159
#7: 2008-05-29 18:20:45 ЛС | профиль | цитата
Dilma, понятно, а я то хотел использовать его для запуска отдельного потока. Теперь буду юзать Thread..
карма: 0
начавший
0
7
Сообщение
...
Прикрепленные файлы
(файлы не залиты)