Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#2

Re: Problem mit SendStream und ReceiveBuf

  Alt 27. Feb 2008, 18:04
Dein Beispiel hat einen schweren Fehler: es wurde kein Speicher für Buffer reserviert!!
So geht's viel einfacher:
Delphi-Quellcode:
procedure TFileServer.ReceiveData(Sender: TObject; Socket: TCustomWinSocket);
var
  Buffer: AnsiString; // AnsiString dein Freund und Helfer
  Size: Integer;
begin
  Size := Socket.ReceiveLength;
  SetLength(buffer, Size); // Speicher reservieren
  Socket.ReceiveBuf(Buffer[1], Size);

  buffer := '<Start>' + buffer + '<end>'; // wir ändern den Buffer etwas

  FileStream.WriteBuffer(Buffer[1], Length(buffer));
end;
Andreas
  Mit Zitat antworten Zitat