> after some successful years with ICS I am now trying to do some FTP > transfers in a separate thread. Everything happens in the thread, > including the FTPClient component creation. The thread itself uses > the synchronous commands, for example FTPClient.Get. > > I am currently using ICSV6 (OverbyteIcsFtpCli.pas V2.108). > > My problem is that this separate thread makes my application very > unresponsive. The main application thread seems to be almost totally > blocked and responds to messages, such as moving or drawing the > main window, only after big delays.
Avoid using sync methods when using a thread. You'll eat up CPU for nothing. Use pure async operation. > Am I missing something very basic here? Does anybody have an idea? Be sure to create your component from the thread's Execute method and /not/ from the thread constructor or your events will be handled by the main thread ! (Not an ICS issue, but simply the way Windows is working). Aslo, if you have a very fast network, such as a GigaBit Ethernet, it is well possible that your transfer become a CPU bound task. You'll solve the problem by lowering the priority of your worker thread but of course this will slow down transfers. Contribute to the SSL Effort. Visit http://www.overbyte.be/eng/ssl.html -- [EMAIL PROTECTED] The author of the freeware multi-tier middleware MidWare The author of the freeware Internet Component Suite (ICS) http://www.overbyte.be -- To unsubscribe or change your settings for TWSocket mailing list please goto http://www.elists.org/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be