Вверх ↑
Разработчик
Ответов: 26300
Рейтинг: 2146
#1: 2010-08-22 02:25:47 ЛС | профиль | цитата
Не завершается, нет события на doStop, а светодиод остается гореть, потому, что таймер заканчивает 5 циклов. Запущенный один раз таймер напрочь блокирует дополнительный поток и событие onExec никогда не заканчивается.
------------ Дoбавленo в 02.25:
И удалить этот дополнительный поток никак не удается, только извне, принудительно. Или применив другой таймер



Add(MainForm,9324798,238,140)
{
}
Add(Button,9216743,238,189)
{
Left=140
Top=115
link(onClick,6227575:doStart,[])
}
Add(LED,7466491,427,189)
{
Left=235
Top=115
}
Add(Thread,6227575,294,189)
{
Delay=500
FastStop=0
Point(doStopFlag)
link(onExec,4400107:doTimer,[])
}
Add(MultiElementEx,4400107,350,189)
{
link(onTimer,7466491:doChangeValue,[])
link(onStop,7630725:doTimer,[(397,202)(397,277)(226,277)(226,237)])
}
BEGIN_SDK
Add(EditMultiEx,7027516,21,21)
{
WorkCount=#20:doTimer=просто точка|0:|
EventCount=#20:onTimer=просто точка|6:onStop|
link(doTimer,16329997:doEvent1,[(42,27)(42,118)])
}
Add(Timer,14697696,126,112)
{
Interval=500
Enable=1
AutoStop=5
Point(onStop)
link(onTimer,7027516:onTimer,[(240,118)(240,27)])
link(onStop,7027516:onStop,[(258,125)(258,34)])
}
Add(Hub,16329997,70,112)
{
link(onEvent1,14697696:doTimer,[])
link(onEvent2,14725427:doLoopMessages,[(105,125)(105,181)])
}
Add(Application,14725427,126,168)
{
Point(doLoopMessages)
}
END_SDK
Add(Timer,7630725,238,231)
{
Interval=0
Enable=1
AutoStop=1
link(onTimer,6227575:doStop,[(282,237)(282,202)])
}


карма: 22

0