Einzelnen Beitrag anzeigen

johannes

Registriert seit: 18. Dez 2002
24 Beiträge
 
Delphi 6 Personal
 
#4
  Alt 20. Feb 2003, 15:27
ich benutze schon copyfrom um in ein anderes stream zu kopieren da liegt das problem nicht. Da hab ich mich unklar ausgedrückt....
Das geht bei kleinen Daten Problemlos. Aber bei größeren Daten wie den angesprochenen 21MB dauert das recht lange und verbraucht unmemengen RAM.
So mach ich das in sehr vereinfachter Form bis jetzt:
Delphi-Quellcode:
Result:=TMemoryStream.create;
FileStream.posisition:=Offset;
Result.CopyFrom(FileStream,Length);
FileStream ist ein TFilestream.
Das große Problem ist das ich die 21MB daten auch noch in meinem Programm weitere verarbeiten muss, so dass dan also Zeitweise 42MB Daten im RAM sind was auch bei 256MB Ram nicht gerade wenig ist, da das Programm auch noch etwa 2MB andere Daten im Ram hat....
DAs mit den Memory Mapped Files klngt schn mal gut ich schau mal was sich da so finden lässt , da ich nur esend zugreife..
  Mit Zitat antworten Zitat