Einzelnen Beitrag anzeigen

Apollonius

Registriert seit: 16. Apr 2007
2.325 Beiträge
 
Turbo Delphi für Win32
 
#2

Re: bild versenden über twinsocket

  Alt 18. Jun 2007, 21:27
Du solltest die Größe als int64 und nicht als string senden. Der String hat nämlich nicht immer die gleiche Größe.
Außerdem musst du die Filesize global machen. Der Stream wird nämlich nicht unbedingt in einem Rutsch versandt, deshalb musst du am Anfang der onClientRead Routine prüfen, ob die Filesize Null ist (dann wird nämlich eine neue Übertragung angefangen), dann musst du die Filesize einlesen, und andernfalls beginnst du direkt mit dem Einlesen des Streams. Am Ende prüfst du, ob die Größe des Streams gleich Filesize ist: Wenn ja, musst du die Streamdaten verwenden, in deinem Fall also meinBild.loadfromStream oder wie auch immer die Methode heißt, außerdem die Filesize auf 0 setzen und deinen Stream Freigeben und einen neuen erzeugen, falls du vorhast, ein weiteres Bild zu übertragen.
Hoffe, geholfen zu haben
Apollonius
Wer erweist der Welt einen Dienst und findet ein gutes Synonym für "Pointer"?
"An interface pointer is a pointer to a pointer. This pointer points to an array of pointers, each of which points to an interface function."
  Mit Zitat antworten Zitat