Тю! Точно. Я че-то промухал точку закрытия
------------ Дoбавленo в 14.56:Tad писал(а):
А вот почему клинит - не разбирался
Закрывать надо по окончанию события записи, тк работает вся передача в другом потоке -- запускается поток, и ему передаются данные, а его тут же закрывают, не успев дождаться начало работы. А вот точка SyncWrite работает уже в основном потоке после успешного выполнения записи в альтернативном.
Если правильно закрывать, то так (я изменил порт на Com2)
Add(MainForm,14101228,266,168)
{
Width=229
Height=167
Caption="JDP Example"
BorderStyle=3
Position=1
link(onCreate,5360966:doDeferredEvent,[])
}
Add(COM,5878548,553,182)
{
Port=1
link(onWrite,6315352:doText,[])
}
Add(Hub,2237788,385,182)
{
OutCount=8
link(onEvent1,5878548:doOpen,[])
link(onEvent2,14475541:doData,[])
link(onEvent3,5878548:doClose,[(410,202)(410,181)(515,181)(515,195)])
link(onEvent4,3798876:doOpen,[(410,209)(410,286)])
link(onEvent5,9607268:doData,[(417,216)(417,335)])
}
Add(DoData,14475541,462,189)
{
Data=String(авав)
link(onEventData,5878548:doWrite,[(510,195)(510,209)])
}
Add(Label,6315352,651,182)
{
Left=45
Top=65
}
Add(COMEX,3798876,553,280)
{
Port=1
link(onSyncWrite,9576390:doEvent1,[])
}
Add(Label,8395528,651,280)
{
Left=45
Top=30
}
Add(DoData,9607268,462,329)
{
Data=String(авав)
link(onEventData,3798876:doWrite,[(501,335)(501,300)])
}
Add(DeferredEvent,5360966,322,182)
{
link(onDeferredEvent,2237788:doEvent1,[])
}
Add(Hub,9576390,602,280)
{
link(onEvent1,8395528:doText,[])
link(onEvent2,3798876:doClose,[(627,293)(627,321)(543,321)(543,293)])
}