[Delphi] AV tijdens asynchronous downloaden

Pagina: 1
Acties:

  • SiHiDa
  • Registratie: December 2001
  • Laatst online: 01-03-2023
Ik gebruik het component TIEDownload om asynchronous (non-blocking) html's en xml's te downloaden. Mijn programma ondersteunt een ongelimiteerd aantal url's die je kan invoeren, dus je kan zoveel downloaden op één moment als je zelf wilt. Probleem is alleen dat het programma op willekeurige tijden een Access Violation te voorschijn tovert. Soms kun je gewoon op OK klikken en dan draait het programma weer verder (wel lastig, omdat het niet alleen bestemd is voor mijzelf), soms geeft hij een ongeldige bewerking en is de enige oplossing nog om het prog af te sluiten. De AV's doen zich altijd voor in of UrlMon.dll of Ole32.dll, vaak ook nog op hetzelfde adres. Het probleem zit hem dus (waarschijnlijk) niet in mijn eigen code, dat overigens alleen maar IEDownload1.Go(Url) doet. ;)

Het component maakt gebruik van IE. Ik heb dat bewust gedaan, omdat dit ervoor zorgt dat de cookies van IE worden meegenomen, da's handig als je bijv fora die normaal niet zichtbaar zijn, wil downloaden. Het lijkt er dus op dat IE het grote aantal url's niet aankan op de een of andere manier. Is er een limiet qua max downloaden op hetzelfde moment? Of heeft de AV een andere oorzaak? Ook andere componenten, mits ze maar de cookies van IE gebruiken (eventueel van een andere browser als Mozilla), vind ik goed. :)

edit:

Maar ff pic toegevoegd om het te verduidelijken. :)


Afbeeldingslocatie: http://members.chello.nl/h.bergsma8/error.jpg

[ Voor 9% gewijzigd door SiHiDa op 11-03-2003 21:47 ]


  • LordLarry
  • Registratie: Juli 2001
  • Niet online

LordLarry

Aut disce aut discede

Ziet er uit als een fout ergens in het COM gedeelte. Moeilijk op te lossen lijkt me. Eerder een foutje in IE of het component dan jouw code.

We adore chaos because we like to restore order - M.C. Escher


  • SiHiDa
  • Registratie: December 2001
  • Laatst online: 01-03-2023
LordLarry schreef op 11 March 2003 @ 22:15:
Ziet er uit als een fout ergens in het COM gedeelte. Moeilijk op te lossen lijkt me. Eerder een foutje in IE of het component dan jouw code.
Dat dacht ik ook al. :)

Dan blijven eik maar twee oplossingen over: of een andere component of een tiental IEDownload's op een form zetten, die maar één download per IEDownload tegelijkertijd uitvoeren. Ik prefereer de eerste oplossing, dus als iemand een ander component weet... ;)

  • SiHiDa
  • Registratie: December 2001
  • Laatst online: 01-03-2023
Ik heb al een oplossing gevonden:

Ipv TIEDownload gebruik ik AdvHTTP. Deze is gebaseerd op Wininet, en niet op IE. :) Gelukkig pakt-ie de cookies van IE wel mee. Problem solved. :Y)