Okay, das werde ich sofort ändern, danke!
//edit zu deinem Punkt drei:
Ja, aber ich glaube so ist es einfacher, weil wir nicht noch zusätzlich die Fälle unterscheiden müssen , ob der Stream jetzt "bearbeitet werden darf" oder nicht... arg: Deutsche Sprache ist zu beschränkt
Noch ne grundsätzliche verständnisfrage zu den Pointern (die Deklaration vom Buffer):
Ich lese ja im Augenblick in der READ function erst den Filestream mit
Filestream.read(buf^,count);
Will ich jetzt an einer bestimmten Position ein Datenpacket aus dem MemoryStream einsetzten, wie geht das?
Ich hab es ja im Augenblick so gelöst:
Delphi-Quellcode:
BufStart:=cardinal(buf);
if FileStream<>nil then
begin
FileStream.Seek(MyPosition,soFromBeginning);
NumberOfReadByte:=Filestream.Read(buf^,count);
end;
//und dann um das Paket irgendwie in die Mitte vom Buffer zu setzen:
buf:=pointer(BufStart+(Start-ReadStart));
//...
FMemory.position:=MyPart.FindAtPosition-offset;
FMemory.Read(buf^,len);
Aber scheinbar funktioniert dies nicht sauber?!
Grüße