in unit of OverbyteIcsIcmp, the TICMP.Destroy have some problem destructor TICMP.Destroy; begin if hICMP <> INVALID_HANDLE_VALUE then IcmpCloseHandle(hICMP); if hICMP6 <> INVALID_HANDLE_VALUE then { V8.02 } IcmpCloseHandle(hICMP6); if hICMPdll <> 0 then FreeLibrary(hICMPdll); hICMPdll := 0; WSACleanup;//this call will Influence other unit which also calle WSACleanup when TICMP.Initialize not executed. inherited Destroy; end;
And this should be fine destructor TICMP.Destroy; begin if hICMP <> INVALID_HANDLE_VALUE then IcmpCloseHandle(hICMP); if hICMP6 <> INVALID_HANDLE_VALUE then { V8.02 } IcmpCloseHandle(hICMP6); if hICMPdll <> 0 then begin FreeLibrary(hICMPdll); WSACleanup; //hICMPdll <> 0 means the TICMP.Initialize has eexecuted. end; hICMPdll := 0; inherited Destroy; end; -- To unsubscribe or change your settings for TWSocket mailing list please goto http://lists.elists.org/cgi-bin/mailman/listinfo/twsocket Visit our website at http://www.overbyte.be