Вверх ↑
Этот топик читают: Гость
Ответов: 92
Рейтинг: 1
#1: 2019-06-28 13:32:42 ЛС | профиль | цитата
Подскажите, почему запуск таймера не срабатывает в цикле, по событию
Add(MainForm,2953706,343,105)
{
Width=297
Height=147
}
Add(Random,2989142,469,175)
{
Min=300
Max=800
Point(doRandomWithoutRepeats)
link(onRandom,2696044:doEvent1,[])
}
Add(Hub,2696044,574,175)
{
link(onEvent1,5514831:doTimer,[])
link(onEvent2,5514831:doInterval,[(626,188)(626,195)])
}
Add(Timer,5514831,658,175)
{
Interval=0
Enable=1
AutoStop=1
OverCall=1
Point(doInterval)
link(onTimer,504184:doNext,[])
}
Add(Button,14301394,336,175)
{
Left=25
Top=15
Data=String(100)
link(onClick,14789869:doWork2,[])
}
Add(CounterEx,504184,798,175)
{
link(onNext,12850969:doText,[])
}
Add(Edit,12850969,868,175)
{
Left=105
Top=15
link(onChange,14789869:doWork1,[(909,181)(909,148)(431,148)])
}
Add(HubEx,14789869,427,175)
{
link(onEvent,2989142:doRandom,[])
}


Редактировалось 1 раз(а), последний 2019-06-28 13:39:09
карма: 0

0
vip
#1.1контекстная реклама от партнеров
Разработчик
Ответов: 26061
Рейтинг: 2120
#2: 2019-06-28 13:47:53 ЛС | профиль | цитата
Vandjer писал(а):
Подскажите, почему запуск таймера не срабатывает в цикле, по событию

Его надо запускать в другой очереди событий
Схема

Add(MainForm,5899418,217,189)
{
Width=297
Height=147
}
Add(Random,2989142,322,259)
{
Min=300
Max=800
Point(doRandomWithoutRepeats)
link(onRandom,2696044:doEvent1,[])
}
Add(Hub,2696044,371,259)
{
link(onEvent1,5514831:doInterval,[(396,265)(396,286)])
link(onEvent2,5514831:doTimer,[])
}
Add(Timer,5514831,420,266)
{
Interval=0
Enable=1
AutoStop=1
OverCall=1
Point(doInterval)
link(onTimer,504184:doNext,[])
}
Add(Button,14301394,217,259)
{
Left=25
Top=15
Data=String(100)
link(onClick,14789869:doWork2,[])
}
Add(CounterEx,504184,476,266)
{
link(onNext,12850969:doText,[])
}
Add(Edit,12850969,539,266)
{
Left=105
Top=15
link(onChange,14316672:doDeferredEvent,[])
link(Str,2989142:Random,[(545,257)(531,257)(531,306)(328,306)])
}
Add(HubEx,14789869,280,259)
{
link(onEvent,2989142:doRandom,[])
}
Add(DeferredEvent,14316672,588,266)
{
link(onDeferredEvent,14789869:doWork1,[(627,272)(627,251)(284,251)])
}


Редактировалось 1 раз(а), последний 2019-06-28 13:48:33
карма: 22

0
Ответов: 8887
Рейтинг: 823
#3: 2019-06-28 13:49:58 ЛС | профиль | цитата
Vandjer, надо разорвать цепь событий от вашего таймера -- он ждёт ОКОНЧАНИЯ своего потока.
Второй таймер


Add(MainForm,11134372,378,98)
{
Width=297
Height=147
}
Add(Random,2989142,490,154)
{
Min=300
Max=800
Point(doRandomWithoutRepeats)
link(onRandom,2696044:doEvent1,[])
}
Add(Hub,2696044,539,154)
{
link(onEvent1,5514831:doInterval,[(564,160)(564,181)])
link(onEvent2,5514831:doTimer,[])
}
Add(Timer,5514831,574,161)
{
Interval=0
Enable=1
AutoStop=1
OverCall=1
Point(doInterval)
link(onTimer,504184:doNext,[])
}
Add(Button,14301394,378,154)
{
Left=25
Top=15
Data=String(100)
link(onClick,14789869:doWork2,[])
}
Add(CounterEx,504184,623,161)
{
link(onNext,12850969:doText,[])
}
Add(Edit,12850969,672,161)
{
Left=105
Top=15
link(onChange,14789869:doWork1,[(711,167)(711,146)(424,146)])
}
Add(HubEx,14789869,420,154)
{
link(onEvent,12831083:doTimer,[])
}
Add(Timer,12831083,441,154)
{
Interval=10
Enable=1
AutoStop=1
link(onTimer,2989142:doRandom,[])
}

карма: 19

0
Ответов: 92
Рейтинг: 1
#4: 2019-06-28 13:57:52 ЛС | профиль | цитата
nesco, Леонид, Спасибо, час продолбался. DeferredEvent - для меня открытие
Леонид писал(а):
Vandjer, надо разорвать цепь событий от вашего таймера -- он ждёт ОКОНЧАНИЯ своего потока.
Теперь понял, в чем была проблема

Редактировалось 1 раз(а), последний 2019-06-28 13:58:28
карма: 0

0
4
Сообщение
...
Прикрепленные файлы
(файлы не залиты)