(тогда хоть чуть-чуть станет понятно, чего Вы хотите

Конечно, на чем-то я его тестировал, но, думаю, Вам от этого легче не станет....
Add(Button,87109,161,91)
{
Left=20
Top=130
Width=65
Font=[Arial,8,0,0]
Caption="Close"
link(onClick,82387:doClose,[(201,97)(201,118)])
}
Add(Button,61743,119,126)
{
Left=20
Top=40
Width=65
Font=[Arial,8,0,0]
Caption="Write"
Data=String(Hello!_)
link(onClick,82387:doWrite,[])
}
Add(Message,66931,308,112)
{
Caption="Read"
}
Add(Message,32894,259,105)
{
Caption="Write"
}
Add(Button,49053,161,133)
{
Left=20
Top=70
Width=65
Font=[Arial,8,0,0]
Caption="Read (20)"
Data=Integer(20)
link(onClick,82387:doRead,[])
}
Add(Button,38287,119,70)
{
Left=20
Top=100
Width=65
Font=[Arial,8,0,0]
Caption="Clear"
link(onClick,82387:doRXClear,[(174,76)(174,125)])
}
Add(Button,23758,77,105)
{
Left=20
Top=10
Width=65
Font=[Arial,8,0,0]
Caption="Open"
link(onClick,82387:doOpen,[])
}
Add(COM,82387,210,105)
{
BaudRate=115200
Parity=4
link(onWrite,32894:doMessage,[])
link(onRead,66931:doMessage,[])
}