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

function XSocketDeallocateHWnd(Wnd: HWND): boolean;
    SetWindowLong(Wnd, 0, 0); { Clear the object reference }
    Result := DestroyWindow(Wnd);

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]

> Best Regards,
> SZ
> ----- Original Message -----
> From: "Arno Garrels" <[EMAIL PROTECTED]>
> To: "ICS support mailing" <>
> 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]
>>> Best Regards,
>>> SZ
>> --
>> To unsubscribe or change your settings for TWSocket mailing list
>> please goto
>> Visit our website at
To unsubscribe or change your settings for TWSocket mailing list
please goto
Visit our website at

Reply via email to