Code: Select all
Procedure ComEventRcv() ;serial input thread
Protected ComRcv.s,*buf
*buf=AllocateMemory(1) ;freed automatically at program end
Repeat
If fd>-1
If read_(fd,*buf,1)>0
If PeekC(*buf)=10
If Trim(ComRcv)<>""
ComRcv=RemoveString(ComRcv,#CR$)
AddGadgetItem(#EDT_IO_MAIN,-1,ComRcv)
ScrollToEnd(#EDT_IO_MAIN)
ComRcv=""
EndIf
Else
ComRcv+PeekS(*buf,1)
EndIf
EndIf
EndIf
ForEver
EndProcedureCode: Select all
If OpenWindowMain()
If fd>-1:ComThread=CreateThread(@ComEventRcv(),0):EndIf
...