I'm trying to create a thread object that contains a TClientSocket component. I need this so I can create new threads to send messages to my server and then end when they have sent the message (or timed out). I've done most of it, but the TClientSocket is not receiving any messages to say it's connected or timed out. I get the connecting message but stepping through the code for the component shows that that event is fired before the socket is attempted to connect anyway. Does the component use Windows messages to work ? I tried to call the create for the ClientSocket with my TForm1 as the owner and it still didn't work. Any help appreciated.