https://forum.lazarus.freepascal.org/index.php/topic,17637.msg97556.html#msg97556

I've knocked up a quick example of doing FTP with Synapse and progressbar. 

Ideally with Synapse been a blocking protocol it would probably work better inside a thread, I've done it here without.  The OnHeartBeat events of Synapse don't appear to get called enough on my machine to stop the GUI feeling a bit kludgey.

ps: I'm not a synapse user so it might not be the best way, but it does appear to work.
