Собственно пример с этого форума:
Enumeration #Window_0 #Start #Text EndEnumeration Procedure Progr(*x) For a=0 To 100000 SetGadgetText(#Text,Str(a)) Delay(100) Debug "Жив1" Next EndProcedure OpenWindow(#Window_0, 100, 150, 400, 200, "Работа в потоке",#PB_Window_SystemMenu|#PB_Window_WindowCentered) ButtonGadget(#Start,20,50,70,20,"Старт") TextGadget(#Text, 150,50, 30,20,"") Repeat Event = WaitWindowEvent() If Event = #PB_Event_Gadget Select EventGadget() Case #Start If IsThread(ThreadID)=0 ThreadID=CreateThread(@Progr(), x) Else Delay (2000) MessageRequester("", "Программа занята!", #MB_OK|#MB_ICONWARNING) EndIf EndSelect EndIf Until Event = #PB_Event_CloseWindow
Суть - при повторном нажатии Старт поток встает пока не пройдет Delay.
Затык в SetGadgetText.
Как быть ?
Отредактировано Alexsvc (24.03.2017 14:31:09)