Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Komprimierten TMemorystream über Internet versenden (https://www.delphipraxis.net/15382-komprimierten-tmemorystream-ueber-internet-versenden.html)

Bobator 27. Jan 2004 17:37


Komprimierten TMemorystream über Internet versenden
 
Hi Leute,

vielleicht ist meine Frage ein wenig noobig aber ich weiss net mehr weiter. Ich hab mir schon die verschiedensten Threads zum Dateiversand über Internet durchgelesen, da da ja auch Streams versendet werden. Mein Problem ist, dass dort meistens FileStreams verwendet werden und wenn ich das Beispiel auf einen TMemorystream ändern will funktioniert es nicht. Ich muss unbedingt einen TMemoryStream versenden, der vorher noch komprimiert wird. Die Prozeduren für die Komprimierung \ Dekomprimierung habe ich schon von SwissDelphiCenter . Am liebsten will ich die Standard Komponenten TServer und TClient verwenden. Wisst ihr weiter? Danke im Voraus! :angle:

negaH 27. Jan 2004 18:03

Re: Komprimierten TMemorystream über Internet versenden
 
Ich vermute mal das du auf den häufigsten "Anfänger"-fehler reingefallen bist.

Nachdem du den Inhalt des TMemoryStream gepackt hast befinden sich dessen Positions-Zeiger = Datei-Zeiger am Ende des Streams. Also MemoryStream.Position == MemoryStream.Size. Bevor du nun diesen Stream an Indy übergibts MUSST du mit MemoryStream.Position := 0; diesen Zeiger auf den Anfang im Stream zurücksetzen. Alle Streamorientierten API's sollten immer ausgehend von der aktuellen Position im Stream bis maximal zum Ende des Streames die Daten weiterverarbeiten. D.h. bei der Benutzung von Streams ist der Programmierer selber für die richtige Positionierung des Dateizeigers verantwortlich !

Gruß Hagen

Bobator 27. Jan 2004 19:16

Re: Komprimierten TMemorystream über Internet versenden
 
cool danke werds gleich mal ausprobieren!


Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz