i have upgrade ICS component with latest from ics source..

It is not always clear that a developer really updated to the latest ICS source code, unless that developer explicitely tell where and when he downloaded. Actually there is only "very latest ICS source": the SVN repository at svn:// !

and the result is same..
but i have put a sleep(150) on SmtpClientDisplay procedure and all work well this is fix..

I have not read your previous message, so what I say here may be out of scope...

Usually, when adding a Sleep() somehwre makes things suddently work, it is likely that there is a race condition or an issue with message handling. Race condition occur when improper use of multithreading (Bad synchronization) or when calling the message pump from an event handler. I think about the later in your case because you talk about a progress bar. A frequent error in component is to use ProcessMessages somewhere or use ShowMessage or other modal dialog. This indirectly calls the message pump and cause reentrency problem in event handling and problems with ICS components which heavily uses events.

The correct way to update a progress bar is to have the ICS component update a variable, and then having a TTimer triggering once per second (or any othe rvalue you like), reading the variable and updating the user interface. This way, there is no mess in event handling, your communication code goes as fast as possible and you progress bar do not consume too much resources.

Hopes this helps.

The author of the freeware multi-tier middleware MidWare
The author of the freeware Internet Component Suite (ICS)

To unsubscribe or change your settings for TWSocket mailing list
please goto
Visit our website at

Reply via email to