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" <[email protected]>
> 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