Nein, irgendeine Bitmap klappt auch nicht, es muss am Server-Code liegen, aber ich weiß nicht wo. Da ich erstmal nur ein Frame übertragen wollte, habe ich natürlich viel kopiert
Der Autor des Originalthreads (siehe
hier) hat zwar seinen ClientCode gepostet, aber nicht den ServerCode. Erst als es um die Kompression ging, hat er etwas ServerCode gezeigt. Es liegt am StreamRead im Server:
Delphi-Quellcode:
procedure TForm1.TCPServerExecute(AContext: TIdContext);
var
Data: string;
FStream: TMemoryStream;
bmp: TBitmap;
begin
FStream := TMemoryStream.Create;
try
AContext.Connection.Socket.ReadStream(FStream);
FStream.Position := 0;
finally
try
FStream.Read(Data, 1000000); //Hier tritt der Fehler auf. Ich weiß nicht genau, was hier rein muss,
//der Code ist aus dem oben genanntem Thema abgeleitet, an dem Punkt
//ging es aber schon um Kompression, was ich ja erstmal nicht will.
finally
//bmp.LoadFromStream(FStream);
JvImage1.LoadFromStream(FStream);
FStream.Free;
end;
end;
end;