/ Forside / Teknologi / Udvikling / Delphi/Pascal / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Delphi/Pascal
#NavnPoint
oldwiking 603
jrossing 525
rpje 520
EXTERMINA.. 500
gandalf 460
gubi 270
DJ_Puden 250
PARKENSS 230
technet 210
10  jdjespers.. 200
TMemoryStream
Fra : PA


Dato : 07-04-02 23:13

Sidder og leger lidt med en download manager jeg prøver at lave.
Jeg bruger TMemorystream når jeg vil hente en fil
og Memorystream.savetofile når den skal gemmes.
Dette virkede fint indtil jeg kom til store filer.
Der får jeg denne fejl
EStreamError with message "Out of memory while expanding memory stream"
Er det noget buffer halløj der skal sættes eller hvordan?
Nogen der ved hvad der er galt ?
Skal nok nævnes at jeg bruger ICS komponenten i sammenhæng.
--
Peter



 
 
John Swartzch (08-04-2002)
Kommentar
Fra : John Swartzch


Dato : 08-04-02 20:36

Som fejlmeddelelsen siger, er der ikke mere hukommelse til rådighed når du
prøver at tilføje data til strengen.
TMemorystream gemmer, som navnet angiver, al data i ram'en.

I stedet burde du nok benytte TFileStream til opgaven, da denne gemmer
dataene direkte i en fil på disken.
Dette kan dog give problemer med fragmentation på harddisken, hvis fx 1 mb
tilføjes løbende over 5 min.
I stedet kan du lave en kombination af de to:
Gem i en TMemoryStream.
Når TMemoryStream'en er > 1 mb, skriv til en TFileStream, tøm MemoryStreamen
og start forfra



Søg
Reklame
Statistik
Spørgsmål : 177500
Tips : 31968
Nyheder : 719565
Indlæg : 6408518
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste