Hello Jack, I read your mail better now :) No need for Abort. Just Free the component. Then OnSessionClose will not fire. What will fire is OnChangeState, so be aware if you do things there like updating GUI or so.
--- Rgds, Wilfried [TeamICS] http://www.overbyte.be/eng/overbyte/teamics.html http://www.mestdagh.biz Saturday, March 4, 2006, 09:33, Jack wrote: > My application halts when WSocketServer is freed, not every time > though. But it happens once in a few times when the application is > closed. Here's the code snippet: > if WSocketServer <> nil then > begin > WSocketServer.Abort(); > Log('Server closed'); > FreeAndNil(WSocketServer); > Log('Server freed'); > end; > When this happens, the last message I get is 'Server closed' so > it dies in FreeAndNil(WSocketServer); Log() just add a line in > a TMemo. They were added after this problem was seen. > I enabled "Check for frozen main thread" in madexcept and got > this report: > main thread ($728): > 7c90eb94 +0000 ntdll.dll KiFastSystemCallRet > 77d5f3de +0044 user32.dll SendMessageA > 71ab8cc3 +489b WS2_32.dll WSACleanup > 0048cdc4 +0018 Test.exe WSocket 1789 +2 > WSocket_Synchronized_WSACleanup > 0048d5d9 +0035 Test.exe WSocket 2221 +12 WSocketUnloadWinsock > 0048e2d7 +007f Test.exe WSocket 3507 +16 TCustomWSocket.Destroy > 00493877 +0037 Test.exe WSocket 6378 +6 TCustomLineWSocket.Destroy > 00494c0e +0092 Test.exe WSocketS 278 +15 TCustomWSocketServer.Destroy > 00402e60 +0008 Test.exe System TObject.Free > 00454be4 +0008 Test.exe SysUtils FreeAndNil > 0049e2ad +0031 Test.exe fTest 213 +5 TFrmTest.CleanUp > 0049e148 +004c Test.exe fTest 133 +15 TFrmTest.FormClose > disassembling: > [...] > 0048cdac 1787 cmp dword ptr [$4a5a14], 0 > 0048cdb3 jnz loc_48cdc4 > 0048cdb5 1788 mov eax, $48cdd4 ; 'WSACleanup' > 0048cdba call +$979 ($48d738) ; WSocket.WSocketGetProc > 0048cdbf mov [$4a5a14], eax 0048cdc4 1789 >> call dword ptr [$4a5a14] ; 0048cdc4 1789 >> WSACleanup (WS2_32.dll) > 0048cdca 1790 ret > Anything I'm doing wrong? > -- > Best regards, > Jack -- 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