Леонид, по теории, Приостановка делается так: code_48 Но от этого мало толку, поскольку, после подачи сигнала WAIT надо еще дождаться, пока этот WAIT начнется....
Заморочка на заморочке....
Мне кажется, что проще и надежнее делать как раньше, но с маленькой доработкой:
Add(Timer,9036834,203,49)
{
Interval=100
Enable=1
link(onTimer,16580948:doStop,[(262,55)(262,55)])
}
Add(Thread,16331575,203,133)
{
Delay=0
link(onExec,16580948:doRepeat,[(250,139)(250,48)])
link(onSyncExec,2584730:doEvent1,[])
}
Add(Repeat,16580948,266,42)
{
Type=4
Op2=Integer(10000)
Check=1
link(onRepeat,7626550:doNext,[])
link(Op1,16603336:Var1,[(272,32)(313,32)(313,86)])
}
Add(MultiElementEx,3898734,385,42)
{
@Hint=#55:Тут очень сложный НЕ ВИЗУАЛЬНЫЙ вычислительный алгоритм|
link(onAdd,3913570:doAdd,[])
}
BEGIN_SDK
Add(EditMultiEx,4793706,3,3)
{
WorkCount=#9:doProcess|
EventCount=#5:onAdd|
VarCount=#5:Index|
}
END_SDK
Add(StrList,3913570,462,42)
{
}
Add(Button,13855245,84,119)
{
Left=10
Top=5
Width=40
Height=40
Caption="Пуск"
link(onClick,4479881:doEvent1,[])
}
Add(Hub,4479881,140,119)
{
OutCount=3
link(onEvent1,9036834:doTimer,[(190,125)(190,55)])
link(onEvent2,7626550:doReset,[(306,132)(306,62)])
link(onEvent3,16331575:doStart,[])
}
Add(Hub,2584730,266,140)
{
OutCount=4
link(onEvent1,6766117:doEnum,[(444,146)(437,146)])
link(onEvent2,3913570:doClear,[(372,153)(372,55)])
link(onEvent3,9690015:doData,[(310,160)(310,160)])
link(onEvent4,3078378:doCompare,[])
}
Add(ArrayEnum,6766117,476,140)
{
link(onItem,198369:doAdd,[])
link(Array,3913570:Array,[])
}
Add(StringTable,198369,525,140)
{
Left=60
Top=5
Width=325
Height=240
Columns=#5:Число|17:Ерунда всякая=200|
}
Add(DoData,9690015,378,154)
{
link(onEventData,11334302:doPosition,[])
link(Data,16603336:Var3,[(384,86)])
}
Add(Button,3803748,84,56)
{
Left=10
Top=50
Width=40
Height=40
Caption="Стоп"
link(onClick,3331107:doWork2,[])
}
Add(Hub,7091741,140,56)
{
link(onEvent1,9036834:doStop,[])
link(onEvent2,16331575:doStop,[(182,69)(182,146)])
}
Add(ProgressBar,11334302,427,154)
{
Left=5
Top=245
Width=380
Max=10000
Smooth=1
ProgressColor=16711680
}
Add(Counter,7626550,322,42)
{
Max=10000
link(onNext,3898734:doProcess,[])
}
Add(GetDataEx,16603336,315,77)
{
link(Data,7626550:Count,[])
}
Add(If_else,3078378,322,161)
{
Type=4
Op2=Integer(10000)
link(onTrue,3331107:doWork3,[(364,167)(364,114)(130,114)])
link(Op1,16603336:Var2,[])
}
Add(HubEx,3331107,126,49)
{
link(onEvent,7091741:doEvent1,[])
}