And even more: 1) procedure TCustomSocksWSocket.SetSocksServer(sServer : String); begin ...
if Length(FSocksServer) = 0 then begin FSocksServerAssigned := FALSE; Exit; end; FSocksServerAssigned := TRUE; end; => FSocksServerAssigned := Length(FSocksServer) <> 0; and the same with the port 2) function TCustomSocksWSocket.GetSocksServer: String; begin Result := FSocksServer; end; => property read FSocksServer ? The same with SocksPort, TWSocket.RemotePort, 3) Strange principle of defines in constructors: in TWSocket {$IFDEF CLR} constructor Create{$IFDEF VCL}(AOwner : TComponent){$ENDIF}; override; {$ENDIF} {$IFDEF WIN32} constructor Create(AOwner: TComponent); override; {$ENDIF} but in TCustomSocksWSocket constructor Create{$IFDEF VCL}(AOwner : TComponent){$ENDIF}; override; the latter seems much nicer. 4) function TimerIsSet(var tvp : TTimeVal) : Boolean; virtual; procedure TimerClear(var tvp : TTimeVal); virtual; function TimerCmp(var tvp : TTimeVal; var uvp : TTimeVal; IsEqual : Boolean) : Boolean; virtual; What for these methods? They aint't used by anywhere in the ICS 5) wsSocksConnected seems deprecated, why not remove it from declaration? -- Anton -- 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