Вверх ↑
Этот топик читают: Гость
Ответов: 315
Рейтинг: 1
#1: 2018-02-27 16:59:14 ЛС | профиль | цитата
Как сделать так, чтобы основной поток (при таком порядке), дождался выполнения доп.потока?
пример

Add(MainForm,1450014,0,0)
{
Width=431
Height=223
}
Add(Thread,14495987,252,105)
{
Delay=0
FastStop=0
link(onExec,14144973:doDownload,[])
}
Add(Hub,9406638,161,161)
{
link(onEvent1,14495987:doStart,[(213,167)(213,111)])
link(onEvent2,4703285:doData,[])
}
Add(Button,7121794,98,161)
{
Left=40
Top=55
link(onClick,9406638:doEvent1,[])
}
Add(Label,4252317,553,168)
{
Left=185
Top=55
Caption="Ожидание..."
}
Add(DoData,3175145,483,112)
{
Data=String(Загрузка)
link(onEventData,5581273:doWork1,[(534,118)])
}
Add(DoData,4703285,483,168)
{
Data=String(Готово)
link(onEventData,5581273:doWork2,[])
}
Add(HubEx,5581273,530,168)
{
link(onEvent,4252317:doText,[])
}
Add(HTTP_Get,14144973,322,105)
{
URL="http://bipbap.ru/wp-content/uploads/2017/04/72fqw2qq3kxh.jpg"
link(onDownload,3175145:doData,[])
}
[/spoiler]
Редактировалось 1 раз(а), последний 2018-02-27 17:00:33
карма: 0

0
Ответов: 4630
Рейтинг: 749
#2: 2018-02-27 17:21:49 ЛС | профиль | цитата


Add(MainForm,1450014,210,14)
{
Width=431
Height=223
link(onCreate,14371753:doCreate,[(401,34)(401,160)])
}
Add(Thread,14495987,665,203)
{
Delay=0
FastStop=0
link(onExec,13308970:doEvent1,[])
}
Add(Hub,9406638,574,259)
{
link(onEvent1,14495987:doStart,[(626,265)(626,209)])
link(onEvent2,10385201:doWait,[])
}
Add(Button,7121794,245,259)
{
Left=10
Top=10
link(onClick,6711787:doStart,[])
}
Add(DoData,3175145,987,210)
{
Data=String(Загрузка)
link(onEventData,5581273:doWork1,[(1038,216)])
}
Add(DoData,4703285,987,266)
{
Data=String(Готово)
link(onEventData,5581273:doWork2,[])
}
Add(HubEx,5581273,1034,266)
{
link(onEvent,13814823:doSynchronize,[])
}
Add(HTTP_Get,14144973,847,203)
{
URL="http://bipbap.ru/wp-content/uploads/2017/04/72fqw2qq3kxh.jpg"
Wait=0
link(onDownload,3175145:doData,[])
AddHint(29,38,37,13,Wait)
}
Add(WaitObject,10385201,756,266)
{
link(onWait,4703285:doData,[])
link(ObjHandle,14371753:ObjHandle,[])
}
Add(ListBox,6730592,1169,378)
{
Left=95
Top=10
Width=115
Height=150
}
Add(Hub,4957276,714,441)
{
link(onEvent1,5329575:doDownload,[])
link(onEvent2,12519211:doData,[(751,454)(751,510)])
}
Add(Button,2118545,665,441)
{
Left=10
Top=50
Caption="Push2"
link(onClick,4957276:doEvent1,[])
}
Add(DoData,7429935,924,448)
{
Data=String(Загрузка)
link(onEventData,10945674:doWork1,[(975,454)])
}
Add(DoData,12519211,924,504)
{
Data=String(Готово)
link(onEventData,10945674:doWork2,[])
}
Add(HubEx,10945674,971,504)
{
link(onEvent,8414384:doEvent2,[(1094,510)(1094,391)])
}
Add(HTTP_Get,5329575,791,441)
{
URL="http://bipbap.ru/wp-content/uploads/2017/04/72fqw2qq3kxh.jpg"
Wait=0
link(onDownload,7429935:doData,[])
AddHint(29,38,37,13,Wait)
}
Add(Hub,8414384,1127,378)
{
InCount=2
OutCount=1
link(onEvent1,6730592:doAdd,[])
}
Add(Events,14371753,756,154)
{
Name=""
ManualReset=1
}
Add(Hub,13308970,714,203)
{
link(onEvent1,14144973:doDownload,[])
link(onEvent2,14371753:doSet,[(742,216)(742,167)])
}
Add(Synchronize,13814823,1050,266)
{
link(onSync,8414384:doEvent1,[(1097,272)(1097,384)])
}
Add(Thread,6711787,441,259)
{
Delay=0
FastStop=0
link(onExec,9406638:doEvent1,[])
}
Add(InfoTip,715748,336,175)
{
Info=#32:Нельзя блокировать главный поток|48:если дожидаемся завершения параллельного потока,|43:который обращается к визуальным компонентам|
Width=218
Height=130
}
карма: 26

0
Ответов: 315
Рейтинг: 1
#3: 2018-02-28 18:33:46 ЛС | профиль | цитата
Спасибо, буду пробовать в деле!
карма: 0

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