Ok I changed strategy and creating components dynamicly for every connection. Everything works great but still cant implement timeout. .. why would i need timeout? Because at the end some Clients arent destroyed because connections are still alive waiting for some data.
HTTPCliList is TObjectList ---------------- In Timer1 i got: ---------------- while (httpcli_count < 50) and (memo3.Lines.Count>0) do begin if memo3.Lines.Count > 0 then begin utworzono:=utworzono+1; http:=THttpCli.Create(self); http.FollowRelocation := false; http.NoCache := true; http.OnDocData := HTTPCli2.OnDocData; http.OnSessionConnected := HTTPCli2.OnSessionConnected; http.OnRequestDone := HTTPCli2.OnRequestDone; http.OnSocksError := HTTPCli2.OnSocksError; http.RcvdStream:=TMemoryStream.Create; http.url := 'http://google.pl'; http.Tag := (GetTickCount div 1000) mod 1000; HTTPCliList.Add(http); SetProxy(http); http.GetASync; end; end; ----------------- On OnRequestDone: ----------------- <some code that works fine> THTTPCli(Sender).Tag := -1; ----------------- In Timer2: ----------------- for i:=HTTPCliList.Count - 1 downto 0 do begin todestroy:=THTTPCLI(HTTPCLILIST[i]); if abs(noww-THTTPCLI(HTTPCLILIST[i]).Tag) > 30 then THTTPCLI(HTTPCLILIST[i]).CloseAsync; if todestroy.Tag = -1 then begin HTTPCliList.Delete(i); todestroy.Destroy; httpcli_count:=httpcli_count-1; end; end; end; ------------------- Whats wrong? Why do i get access violation? If ill add the code from timer2: HTTPCliList.Delete(HTTPCliList.IndexOf(HTTPCLI(SENDER)); HTTPCLI(SENDER).Destroy; httpcli_count:=httpcli_count-1; ... directly in OnRequestDone event, still getting Access Violation. But without any Timer2 and HTTPCliList everything works fine (but no timeout then). Ann -- 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