Delphi-Quellcode:
function SendStream(AContext: TIdContext; AStream: TStream): Boolean; overload; begin
Result := False;
try
AContext.Connection.IOHandler.Write(LongInt(SizeOf(AStream))); //<-- sendet 4, da die Größe eines Objektes 4 Byte sind (unter 32bit)
AContext.Connection.IOHandler.WriteBufferOpen;
AContext.Connection.IOHandler.Write(AStream, SizeOf(AStream)); //<-- da wolltest du bestimmt den Inhalt senden und nicht schon wieder 4 ;)
AContext.Connection.IOHandler.WriteBufferFlush;
finally
AContext.Connection.IOHandler.WriteBufferClose;
end;
Result := True;
end;
Anbei mal ein kleines Beispiel, wie ich es machen würde.