---- Wiadomość Oryginalna ---- Od: Francois PIETTE <[EMAIL PROTECTED]> Do: ICS support mailing <twsocket@elists.org> Data: Sun, 18 Dec 2005 12:22:54 +0100 Temat: Re: [twsocket] [THTTPCLI] What am i doing wrong? ;-(
> > I've changed .CloseAsync to .Abort and nothing changed :-( Still got > > access violation. Access violation only occures if Timer2 is > > Enabled. Somewhere in this code (Even without calling abort): > > > >> > for i:=HTTPCliList.Count - 1 downto 0 do > >> > begin > >> > todestroy:=THTTPCLI(HTTPCLILIST[i]); > >> > if todestroy.Tag = -1 then > >> > begin > >> > HTTPCliList.Delete(i); > >> > todestroy.Destroy; > >> > httpcli_count:=httpcli_count-1; > >> > end; > >> > end; > >> > end; > > With the debugger, you'll be able to pin-point exactly where the AV occur. > Try changing the logic as I said: > > for i:=HTTPCliList.Count - 1 downto 0 do begin > todestroy:= HTTPCLILIST[i] as THTTPCLI; > if todestroy.Tag = -1 then > todestroy.Abort; > end; > > Then in OnRequestDone event, handle as if it where success but of course > don't process data. There is something wrong with HTTPList... ;-( Maybe TObjectList cant handle so many async requests? I changed the code to something like this: for i:=Form1.ComponentCount -1 downto 0 do begin If form1.Components[i] is THttpCli then begin if (abs((noww-THTTPCLI(form1.Components[i]).Tag)) > 60) and (THTTPCLI(form1.Components[i]).Tag <> -2)and (THTTPCLI(form1.Components[i]).Tag <> -1) then begin THTTPCLI(form1.Components[i]).Abort; end; if THTTPCLI(form1.Components[i]).Tag = -1 then begin utworzono:=utworzono-1; THTTPCLI(form1.Components[i]).Destroy; end; end; end; ... but its not a good code. Works fine but it shouldnt be done like that... :/ Any ideas how to make it on TObjectList so it wouldnt crash? -- 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