Francois, and Arno, >> while not terminated do >> begin >> WSocket.MessagePump; >> // check if I need to do something >> sleep(100); >> end; >> // close it all down >> Or am I missing the point in the use of the message pump? > > Yes, you miss something. The code you've done will be very slow at > processing events because of the sleep. And it you remove the sleep, it will > use all CPU. OK. > > The solution is simple: you need to use a real message loop. Easy: just call > MessageLoop which all TWSocket instances have. To terminate the message > loop, you can post a WM_QUIT message when you detect your thread has > terminated.
If I do: while not terminated do begin WSocket.MessageLoop; // check if I need to do something end; // close it all down Then my understanding from what you have said is that I only get to the // check if I need to do something when a quit is posted. I am running a finite state machine in the execute loop, which marshalls responses, checks timeouts etc. If I don't exit the message loop, I can't do this. Really sorry if I am missing the point on this. Long hours, fried brain. Regards, Andy > > -- > [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://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be