AsyncRead Nicht genügend Speicher

06/10/2012 - 12:18 von Hermie | Report spam
Hallo,

ich lade mir per AsyncRead eine 500 mb große Datei von einem Server.

Wenn er fertig ist, will ich die heruntergelandenen Bytes in eine Datei
schreiben:

Private Sub UserControl_AsyncReadComplete(AsyncProp As AsyncProperty)

Select Case AsyncProp.StatusCode
Case vbAsyncStatusCodeEndDownloadData

Dim iFile%
iFile = FreeFile

Dim bt() As Byte
bt = AsyncProp.value

Open AsyncProp.PropertyName For Binary Access Write As #iFile
Put #iFile, , bt
Close #iFile


Aber beim Versuch, 500 mb in bt() zu packen...

bt = AsyncProp.value

... streikt er mit "Zu wenig Speicher", was ich ja auch verstehen kann.

Hat jemand eine Lösung, wie ich das hinkriege?

Danke!
Hermann
 

Lesen sie die antworten

#1 Schmidt
06/10/2012 - 15:59 | Warnen spam
Am 06.10.2012 12:18, schrieb Hermie:

ich lade mir per AsyncRead eine 500 mb große Datei von einem Server.

...

Aber beim Versuch, 500 mb in bt() zu packen...

bt = AsyncProp.value

streikt er mit "Zu wenig Speicher", was ich ja auch verstehen kann.

Hat jemand eine Lösung, wie ich das hinkriege?



Warum nicht direkt in ein (Temp)File downloaden (per vbAsyncTypeFile)?

Hab das Flag lange nicht benutzt ... aber so aus der Erinnerung heraus,
steht dann der Temp- bzw. Cache-Filename (anstelle der "echten Daten")
in der AsyncProp.Value in Deinem Empfànger-Eventblock da oben.

Danach reicht also ein Name-Befehl, um das File in den Ordner
Deiner Wahl zu verschieben - oder ein Auslesen (in kleineren
Hàppchen vielleicht, falls > 300MB) und ein anschl. Löschen.

Olaf

Ähnliche fragen