Einzelnen Beitrag anzeigen

1aa

Registriert seit: 28. Sep 2008
48 Beiträge
 
Delphi XE5 Enterprise
 
#1

Stream über Indy 10 senden

  Alt 9. Nov 2013, 21:26
Problem:

Erstellter Stream lässt sich nict auf den Socket schreiben es kommt die fehlermeldung : "Keine Daten für den Lesezugriff!"

Code:
Delphi-Quellcode:
 type
  TDatensatz = record
    ID: integer;
    Name: AnsiString;
  end;

  TDatenArray = array of TDatensatz;
.....
  FSocket: TIdTCPClient;

......
var hStream :TStream;
    hSize : Integer;
    Daten : TDatenArray;
begin
  SetLength(Daten, 1);
  Daten[0].ID := 1;
  Daten[0].Name := 'Ein Name';
  hSize := SizeOf(Daten);
    hStream := TMemoryStream.Create;
    hStream.WriteBuffer(Daten, hSize);

  FSocket.Socket.WriteBufferOpen;
  FSocket.Socket.Write(hStream,hSize);
  FSocket.Socket.WriteBufferFlush;
  FSocket.Socket.WriteBufferClose;

  hStream.free;
fSocket ist verbunden.
  Mit Zitat antworten Zitat