Einzelnen Beitrag anzeigen

Benutzerbild von alleinherrscher
alleinherrscher

Registriert seit: 8. Jul 2004
Ort: Aachen
797 Beiträge
 
Delphi XE2 Professional
 
#28

Re: Frage zum Buffer eines Streams

  Alt 30. Jul 2007, 13:51
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
„Software wird schneller langsamer als Hardware schneller wird. “ (Niklaus Wirth, 1995)

Mein Netzwerktool: Lan.FS
  Mit Zitat antworten Zitat