So, damit der Post nicht unbeantwortet bleibt, hier die Lösung:
Ich empfehle mit einem JPEG zu arbeiten, da dieses wesentlich kleiner ist als ein Bitmap. Die Umwandlung BMP->JPEG soll hier nicht weiter interessieren. Hier also der Code:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var MS:TMemoryStream: begin MS:=TMemoryStream.Create; JPEG.SaveToStream(MS); MS.Position:=0; Client.WriteStream(MS); // Client bezeichnet die Indy-Komponente MS.free; end; |
Das kann dann so wieder empfangen werden:
Quelltext
1: 2: 3: 4: 5: 6: 7: 8:
| var MS:TMemoryStream; begin MS:=TMemoryStream.Create; Client.ReadStream(MS); MS.Position:=0; // ist sehr wichtig, da TJpegImage sonst streikt JPEG.LoadFromStream(MS); MS.free; end; |
Der Code speichert keine Daten auf der HD. (Virtueller Speicher zählt nicht

)
maxk
Ein Computer wird das tun, was Du programmierst - nicht das, was Du willst.