в твоей схеме картинка летела в кучу и наверно всё мешалось..., тут же есть спец символ который позволяет определить дошла ли картинка code_35454.txt------------ Дoбавленo в 12.28:добавил таймаут, на случай если сервер вовремя не ответит, будет слать заново картинку Add(MainForm,15691863,147,77) { Width=591 Height=262 Position=1 link(onCreate,16674993:doEvent1,[]) } Add(TCPServer,3984424,350,84) { Port=1001 Point(doEnumClients) Point(onEnumClients) Point(doSendAll) link(onReceive,3741252:doStrCat,[(450,90)(450,41)]) } Add(ScreenShort,12189760,175,301) { link(onCapture,5426931:doEvent1,[]) } Add(Timer,11389976,119,301) { Interval=1 Enable=1 AutoStop=1 link(onTimer,12189760:doCapture,[]) } Add(ZLIB,43492,385,308) { link(onStream,5411280:doConvert,[]) link(Stream,5013270:Var3,[(391,278)]) } Add(MemoryStream,93822,315,238) { Point(doPosition) } Add(BitmapStream,23496,315,294) { link(Stream,5013270:Var2,[]) } Add(Hub,5426931,238,301) { OutCount=5 link(onEvent1,93822:doClear,[(284,307)(284,251)]) link(onEvent2,16188768:doData,[(267,314)(267,295)(226,295)(226,258)]) link(onEvent3,23496:doWrite,[(298,321)(298,307)]) link(onEvent4,43492:doCompress,[(353,328)(353,314)]) link(onEvent5,12820942:doLoad,[(276,335)(276,363)]) } Add(Image,12820942,301,357) { Left=25 Top=10 Width=245 Height=200 } Add(GetDataEx,5013270,315,273) { link(Data,93822:Stream,[]) } Add(TCP_Client,96010,602,301) { Port=1001 IP="127.0.0.1" link(onRead,14993554:doWork3,[(654,307)(654,401)(107,401)]) } Add(Hub,16674993,210,91) { OutCount=3 link(onEvent1,3984424:doStartServer,[]) link(onEvent2,96010:doOpen,[(480,104)(480,307)]) link(onEvent3,14993554:doWork1,[(236,111)(236,207)(107,207)]) } Add(BitmapStream,30541,679,91) { link(onRead,13639904:doEvent1,[]) } Add(Image,12270693,777,91) { Left=310 Top=5 Width=235 Height=205 } Add(ZLIB,12513949,623,91) { link(onStream,30541:doRead,[]) } Add(StreamConvertor,9326001,518,98) { Mode=1 link(onResult,12513949:doDeCompress,[]) link(Data,4580820:Var2,[]) } Add(DoData,10623133,777,133) { Data=Integer(1) link(onEventData,3984424:doSendAll,[(821,139)(821,176)(338,176)(338,125)]) } Add(Hub,13639904,728,91) { OutCount=3 link(onEvent1,12270693:doLoad,[]) link(onEvent2,3741252:doClear,[(759,104)(759,14)(497,14)(497,48)]) link(onEvent3,10623133:doData,[(760,111)(760,139)]) } Add(HubEx,14993554,103,301) { link(onEvent,11389976:doTimer,[]) } Add(DoData,16188768,238,252) { Data=Integer(0) link(onEventData,93822:doPosition,[]) } Add(StrMask,14314452,567,35) { Mask="*~" link(onTrue,9326001:doConvert,[(611,48)(611,139)(506,139)(506,104)]) } Add(StrCat,3741252,518,35) { Point(doClear) link(onStrCat,14314452:doCompare,[]) link(Str1,4580820:Var1,[(524,23)(512,23)(512,79)]) } Add(GetDataEx,4580820,518,74) { link(Data,3741252:Result,[]) } Add(StreamConvertor,5411280,441,308) { link(onResult,6617310:doStrCat,[]) } Add(StrCat,6617310,490,308) { Str2="~" link(onStrCat,11619777:doWork2,[]) } Add(Timer,9925887,602,343) { Interval=5000 Enable=1 AutoStop=1 link(onTimer,15426639:doData,[(646,349)(646,393)(478,393)(478,356)]) } Add(Hub,12122745,553,308) { link(onEvent1,9925887:doTimer,[(585,314)(585,349)]) link(onEvent2,96010:doSend,[]) } Add(DoData,15426639,490,350) { link(onEventData,11619777:doWork3,[(536,356)]) link(Data,6617310:Result,[]) } Add(HubEx,11619777,532,308) { link(onEvent,12122745:doEvent1,[]) }
|