Richard87 Skrevet 3. april 2005 Del Skrevet 3. april 2005 (endret) Kossen kan eg lasta ner filer fra internet og samtidig vise progress? filå eg ska lasta ner e: http://www.freewebs.com/shortcutmanager/update når eg laste ner version så går det greit, siden den e lite(3kb) men Update e ganske store..(1,5mb) så det går ganske treigt... någen ide? akkuratt nå bruke eg inet kontrollen... Endret 17. april 2005 av Richard87 Lenke til kommentar
Jonas Skrevet 3. april 2005 Del Skrevet 3. april 2005 Jeg mener å huske at dette eksempelet brukte Inet-kontrolleren. Uansett, sikkert brukelig Lenke til kommentar
aadnk Skrevet 3. april 2005 Del Skrevet 3. april 2005 Man trenger ikke benytte Inet-kontrollen. Sant å si kan dette faktisk gjøres via AsyncRead i en brukerkontroll, der man faktisk kan laste ned flere filer samtidig og likevel få progresjonen av de enkelte nedlastningene: http://www.pscode.com/vb/scripts/ShowCode....=44135&lngWId=1 Lenke til kommentar
Richard87 Skrevet 3. april 2005 Forfatter Del Skrevet 3. april 2005 hm, kossen fyngere AsynRead, kossen kan eg bruka ann samen med en vanlig form, e eg nødt og bruka ein ActiveX Dll, Ocx, Documend? Lenke til kommentar
aadnk Skrevet 3. april 2005 Del Skrevet 3. april 2005 Du kan fint legge inn brukerkontrollen i prosjektet ditt uten noen form for problematikk, antar jeg. Det skulle ikke spille noen rolle. Lenke til kommentar
Richard87 Skrevet 3. april 2005 Forfatter Del Skrevet 3. april 2005 det vett eg, det eg lure på, e om eg e nødt og bruka ein usercontrol, eller om eg kan gjør det på en annen måte for og slippe det? Lenke til kommentar
aadnk Skrevet 3. april 2005 Del Skrevet 3. april 2005 Det blir enklest å anvende en brukerkontroll. Lenke til kommentar
Richard87 Skrevet 17. april 2005 Forfatter Del Skrevet 17. april 2005 ok, eg har fått alt te og virka nå, men bestemte meg for og oppgradera, då fant eg ut at ann ikkje greide og lasta ner serligt store filer... ikkje med og bare dima ein sBuffer() As byte iallefal, någen som har en bedre ide te kossen eg kan lasta ner _STORE_ filer med AsycRead metoden? (ca. 700mb) Lenke til kommentar
Jonas Skrevet 17. april 2005 Del Skrevet 17. april 2005 Du sier ikke noe om hva som skjedde, men jeg regner med at du prøvde å legge hele filen i en variabel og fikk overflow-error? Gjør som andre p2p-programmer - Legg alt i en buffer-fil. Lenke til kommentar
Richard87 Skrevet 17. april 2005 Forfatter Del Skrevet 17. april 2005 hmm... ko mange byte takle et dynamisk byte array? Lenke til kommentar
aadnk Skrevet 17. april 2005 Del Skrevet 17. april 2005 (endret) Jeg tror det er 32767. En byte-array kan håndtere omtrent 2 GB med rå data, slik at problemet ligger neppe der. Du må laste ned filer slik som vist i eksempelet jeg henviste til ovenfor - ved å skrive til filen hver gang en mottar informasjon. Da slipper du å lagre all informasjon i RAM-en. Endret 17. april 2005 av aadnk Lenke til kommentar
Richard87 Skrevet 21. april 2005 Forfatter Del Skrevet 21. april 2005 (endret) så vitt eg kan se i eksempelet du henviste til ovefor lagret den alt til minnet.. og i koden fra planet-source-code blei iallefall alt lagret i minnet... Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty) On Error Resume Next Dim f() As Byte, fn As Long If AsyncProp.BytesMax <> 0 Then fn = FreeFile f = AsyncProp.Value Open AsyncProp.PropertyName For Binary Access Write As #fn Put #fn, , f Close #fn Else RaiseEvent DownloadError(AsyncProp.PropertyName) End If RaiseEvent DownloadComplete(CLng(AsyncProp.BytesMax), AsyncProp.PropertyName) End Sub (legg merke til at filen blir skrevet _før_ du får DownloadComplete.. Noen god ide til hvordan jeg kan lage denne buffer filen? finnes det noen "Open For Binary Append" eller lignende kode? kan du bruke Get/Put selv om du åpner filen for "Append"? [EDIT] Uanz, blir ikke alt lagret i AsyncProp.Value uanset? [EDIT2] Kossen fungere det vis eg bruke vbAsyncTypeFile? Endret 21. april 2005 av Richard87 Lenke til kommentar
aadnk Skrevet 22. april 2005 Del Skrevet 22. april 2005 Du kan nok slette AsyncProp.Value periodevis etter som filsegmentene skrives til harddisken, omtrent således: Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty) On Error Resume Next If AsyncProp.BytesMax <> 0 Then RaiseEvent DownloadError(AsyncProp.PropertyName) Exit Sub End If RaiseEvent DownloadComplete(CLng(AsyncProp.BytesMax), AsyncProp.PropertyName) End Sub Private Sub UserControl_AsyncReadProgress(AsyncProp As AsyncProperty) On Error Resume Next Dim Bytes() As Byte, File As Long ' Fortsett kun dersom segmentet er ferdig nedlastet If AsyncProp.BytesMax <> 0 Then File = FreeFile Bytes = AsyncProp.Value ' Skriv til fil Open AsyncProp.PropertyName For Binary Access Write As #File Put #File, AsyncProp.BytesRead + 1, Bytes Close #File ' Tøm buffer AsyncProp.Value = Null ' Fortell om hendelsen RaiseEvent DownloadProgress(CLng(AsyncProp.BytesRead), CLng(AsyncProp.BytesMax), AsyncProp.PropertyName) End If End Sub Public Sub BeginDownload(url As String, SaveFile As String) ' Slett fil dersom den allerede eksisterer If Dir(SaveFile) <> "" Then Kill SaveFile End If UserControl.AsyncRead url, vbAsyncTypeByteArray, SaveFile, vbAsyncReadForceUpdate End Sub Lenke til kommentar
Richard87 Skrevet 22. april 2005 Forfatter Del Skrevet 22. april 2005 hmm ,det var rart, jeg fikk en error melding hver gang jeg prøvde og sette AsyncProp.Value til 0, Null, vbNull, Nothing etc error meldingen hvar "Object required"(el) Lenke til kommentar
aadnk Skrevet 22. april 2005 Del Skrevet 22. april 2005 error meldingen hvar "Object required"(el) AsyncProp.Value blir altså markert med feilmeldingen "Object required"? Benytter du AsyncProp As AsyncProperty øverst i prosedyredeklareringen til AsyncReadProgress? Lenke til kommentar
Richard87 Skrevet 23. april 2005 Forfatter Del Skrevet 23. april 2005 ja,det gjør jeg... Lenke til kommentar
aadnk Skrevet 23. april 2005 Del Skrevet 23. april 2005 Hvilken versjon av VB har du? VB6? Lenke til kommentar
Richard87 Skrevet 23. april 2005 Forfatter Del Skrevet 23. april 2005 (endret) VB6 med SP 6.. virker det oss deg? har du noe kode? Endret 23. april 2005 av Richard87 Lenke til kommentar
aadnk Skrevet 23. april 2005 Del Skrevet 23. april 2005 VB6 med SP 6.. virker det oss deg? har du noe kode? Jeg erstatter simpelthen prosedyrene med de ovenfor i PSC-prosjektet. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå