I have posted a message days ago and no one has told anything, please, the problem specified here is not a bug of my application, is a possible bug of ICS that must be corrected, this is a memory leak bug that I found on the FreeWndHandler routine of ICS, can any ICS Team members or even François Piette give a feedback on this??? The message is below:
I´m using FastMM4, by declaring FastMM4 as first unit of my project, and when I close my application it says that there is 1 memory leak on module TIcsWndHandlerList. This bug occurs even on the demo applications provided on ICS package I have read the code of unit OverbyteIcsWndControl and I found a possible bug on the procedure TIcsWndHandlerPool.FreeWndHandler procedure TIcsWndHandlerPool.FreeWndHandler(var WndHandler: TIcsWndHandler); var Index : Integer; begin if not Assigned(WndHandler.FOwnerList) then Exit; Index := WndHandler.FOwnerList.IndexOf(WndHandler); if Index >= 0 then begin WndHandler.FOwnerList.Delete(Index); if WndHandler.FOwnerList.Count <= 0 then begin Index := FList.IndexOf(WndHandler.FOwnerList); if Index >= 0 then FList.Delete(Index); end; WndHandler.Free; WndHandler := nil; end; end; The problem is that this routine is not freeing the WndHandle.FOwnerList I added the code: if WndHandler.FOwnerList.Count <= 0 then begin Index := FList.IndexOf(WndHandler.FOwnerList); if Index >= 0 then FList.Delete(Index); WndHandle.FOwnerList.Free; end; WndHandler.Free; WndHandler := nil; end; end; just for test, and it worked fine, the memory leak message didn´t appears anymore, but I don´t know the impact of this code on the rest of the package because I don´t know the internal funcionality of ICS. The FOwnerList shouldn´t be freed when the WndHandle class is destroyed???? Please, I need a feedback on this because my application runs 24/7 and creates and destroys sockets frequently, and this bug leaks memory each time a socket is destroyed. Éric -- 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