I went to the link that you gave me. I am trying to understand how to PC get data from Arduino. I do find an example for PC to send the data to Arduino. But I could not find any example PC to receive data from Arduino from Synapse.
I said for that link "Not exactly what you need, but you might find necessary bits of information". You need to dig a little in that link. At the bottom of the linked page there is "External Resources" section. You need to follow first 2 links. Third message in first link will point you to
http://wiki.lazarus.freepascal.org/Hardware_Access#Serial_Communication where you will find a SynaSer receive demo, and second link has a zip file with complete send/receive SynaSer application that you can study. Have in mind that Synaser is not async and event based, so if you want that then for your GUI apps you should better try TLazSerial which internally uses SynaSer. Otherwise be prepared to learn multithreading development for anything more then simple communication.
I see that Synapse is one-way communication. I hope it is not true.
No, it is not true. You also need to learn to read official documentation and navigate through source code. Nobody else can do that for you. Here is a free tip:
http://synapse.ararat.cz/doc/help/synaser.TBlockSerial.htmlI did not want to download another serial application.
It's up to you. MODBUS is standard and robust protocol which handles everything you need, including error checking and rejecting bad messages. Some much more experienced programmers then you have done the hard work. If you want to reject that and implement everything on your own then you need to be much more proactive then currently.