Fastream Technologies wrote: > I found the ICS bug: when I put the below in the ThttpCli descendent's > destructor, it works: > > SetWindowLong(FWindowHandle, 0, 0); > DestroyWindow(FWindowHandle); > SetWindowLong(FCtrlSocket->Handle, 0, 0); > DestroyWindow(FCtrlSocket->Handle); > > In THttpCli destructor, the destruction order of the CTrlSocket is first > so I think that's why it leaks the window. And no, > CodeGuard/Memproof/Eurekalog cannot show undeleted windows.
In WSocket.pas, XSocketDeallocateHWnd, there should be a call to SetWindowLong(). function XSocketDeallocateHWnd(Wnd: HWND): boolean; begin SetWindowLong(Wnd, 0, 0); { Clear the object reference } Result := DestroyWindow(Wnd); end; If not, make sure that you have latest ICS-Beta installed (not sure if it is in the release). I've my doubts that order of destroying the windows matters, but not 100% sure. --- Arno Garrels [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html > Best Regards, > > SZ > > ----- Original Message ----- > From: "Arno Garrels" <[EMAIL PROTECTED]> > To: "ICS support mailing" <twsocket@elists.org> > Sent: Saturday, February 04, 2006 1:28 PM > Subject: Re: [twsocket] Remember the SetWindowLong bug in WSocket? > > >> Fastream Technologies wrote: >>> Hello, >>> >>> That bug caused a lot of frustration here. Now the problem is resolved >>> for >>> FTP and web servers with my fix BUT for the reverse proxy, there is a >>> window leakage that cannot be detected by CodeGuard. It seems the >>> problem is in THttpCli destructor. XWindowDealloc returns true but I >>> have BIG doubts. It is a bit confusing because in THttpCli there are >>> two handles and two windows! One is for the THttpCli and the other one >>> is for THttpCli->CtrlSocket. Could someone take a look? It leaks 40KB >>> per socket!!! >> >> Have you cross-checked one of the THttpCli demo projects? >> Here MemProof says "No leak found" (beside 1x 4k in MakeObjectInstance >> which >> is normal..). >> >> --- >> Arno Garrels [TeamICS] >> http://www.overbyte.be/eng/overbyte/teamics.html >> >> >>> >>> Best Regards, >>> >>> SZ >> -- >> 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