Francois PIETTE wrote: > This is surely not the problem, but WaitFor should be avoided when > possible. It is known to create deadlocks.
I already exchanged it by a simple WaitForSingleObject(ThreadHandle) since WaitFor is know to make trouble, anyway the problem persists. > -- > Contribute to the SSL Effort. Visit > http://www.overbyte.be/eng/ssl.html -- > [EMAIL PROTECTED] > http://www.overbyte.be > > > ----- Original Message ----- > From: "Arno Garrels" <[EMAIL PROTECTED]> > To: "ICS support mailing" <twsocket@elists.org> > Sent: Thursday, June 22, 2006 6:59 PM > Subject: Re: [twsocket] V6 ThreadDetach #2 > > >> Fastream Technologies wrote: >>> I had the same problem. In my case, I had to post a message before >>> ending the thread. There was pending messages that called GetHandle >>> which called AllocateHwnd()!!! >> >> My problem still persists, sometimes the exception "Cannot attach >> when not detached" is raised. However I cannot imagine that >> exchanging WaitFor by your method can change anything basically. >> Probably the strange GetHandle() getter is the culprid? >> >> >>> >>> Regards, >>> >>> SZ >>> >>> ----- Original Message ----- >>> From: "Arno Garrels" <[EMAIL PROTECTED]> >>> To: "ICS support mailing" <twsocket@elists.org> >>> Sent: Thursday, June 22, 2006 4:20 PM >>> Subject: [twsocket] V6 ThreadDetach #2 >>> >>> >>>> I have the following problem in V6: >>>> >>>> constructor TListenThread.Create(AServer: TMtWSocketServer); >>>> begin >>>> inherited Create(True); >>>> FreeOnTerminate := FALSE; >>>> FServer := AServer; >>>> FServer.ThreadDetach; >>>> end; >>>> >>>> procedure TListenThread.Execute; >>>> begin >>>> FServer.ThreadAttach; >>>> FServer.Listen; >>>> FServer.MessageLoop; >>>> FServer.Close; >>>> FServer.ThreadDetach; >>>> end; >>>> >>>> procedure TForm1.btnStartClick(Sender: TObject); >>>> begin >>>> //properties of Server1 are assigned >>>> FListenThread := TListenThread.Create(Server1); >>>> FListenThread.Resume; >>>> end; >>>> >>>> >>>> procedure TForm1.btnStopClick(Sender: TObject); >>>> begin >>>> PostMessage(Server1.Handle, WM_QUIT, 0, 0); >>>> FListenThread.WaitFor; >>>> FreeAndNil(FListenThread); >>>> => here the Server1.Handle is not 0! >>>> Server1.ThreadAttach; // so raises an exception >>>> end; >>>> >>>> Any idea? >>>> >>>> --- >>>> Arno Garrels [TeamICS] >>>> http://www.overbyte.be/eng/overbyte/teamics.html >>>> >>>> -- >>>> 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 >> -- >> 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 -- 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