Вверх ↑
Разработчик
Ответов: 26104
Рейтинг: 2124
#1: 2024-08-07 03:44:28 ЛС | профиль | цитата
Вот приблизительная схема чтения порта в отдельном потоке. Она вполне рабочая

Схема


Add(MainForm,2953706,126,518)
{
Width=607
Height=249
Position=1
link(onCreate,14624210:doEvent1,[])
}
Add(Memo,958686,574,602)
{
Left=10
Top=5
Width=575
Height=195
Font=[Courier New,8,0,0,204]
ScrollBars=2
}
Add(COM,15370309,406,532)
{
Port=1
TimeOut=20
link(onRead,5476695:doValue,[])
}
Add(DoData,7437012,350,567)
{
Data=Integer(128)
link(onEventData,15370309:doRead,[(396,573)(396,566)])
}
Add(Hub,14624210,189,532)
{
link(onEvent1,15370309:doOpen,[])
link(onEvent2,5306936:doStart,[(242,545)(242,566)])
}
Add(Thread,5306936,252,560)
{
Delay=50
link(onExec,1218934:doEvent1,[])
link(onSyncExec,2770533:doData,[(298,573)(298,608)])
}
Add(Memory,5476695,462,539)
{
}
Add(DoData,2770533,462,602)
{
link(onEventData,15273451:doCase,[])
link(Data,5476695:Value,[])
}
Add(Case,15273451,518,602)
{
Value=String()
link(onNextCase,958686:doAdd,[])
}
Add(Hub,1218934,308,560)
{
link(onEvent1,15370309:doRXClear,[(333,566)(333,552)])
link(onEvent2,7437012:doData,[])
}

карма: 22

0