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..