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.