Also ich habe das Problem, das wenn ich einen Screenshot gemacht habe und diesen zu meinem Client schicke kann ich diesen nicht einbinden.
Da ich mit dem verschicken ein paar probleme hatte ist der code teilweise aus nen Beispiel genommen was ich im netz gefunden habe.
Delphi-Quellcode:
procedure Tfm_main.cs_BinaryRead(Sender: TObject; Socket: TCustomWinSocket);
var
s, sl: string;
begin
s:= Socket.ReceiveText;
// If we're not in recieve mode:
if not Reciving then
begin
// Now we need to get the length of the data stream.
SetLength(sl, StrLen(PChar(s))+1); // +1 for the null terminator
StrLCopy(@sl[1], PChar(s), Length(sl)-1);
DataSize:= StrToInt(sl);
Data:= TMemoryStream.Create;
// Delete the size information from the data.
Delete(s, 1, Length(sl));
Reciving:= true;
end;
// Store the data to the file, until we've received all the data.
try
Data.Write(s[1], length(s));
if Data.Size = DataSize then
begin
Data.Position:= 0;
fm_image.Visible := True;
fm_image.img_screen.Picture.Bitmap.LoadFromStream(Data);
Data.Free;
Reciving:= false;
Socket.Close;
end;
except
Data.Free;
end;
end;
Die datei kommt komplett an aber wenn ich den Stream in die Bitmap laden will kommt der Fehler:
Im Projekt Client.exe ist eine
Exception der Klasse EInvalidGraphic mit derm Meldung 'Bitmap ist ungültig' aufgetreten.
Ich hoffe mir kann einer helfen.
MFG
Penguin