Thema: Delphi Screenshot verschicken

Einzelnen Beitrag anzeigen

Penguin

Registriert seit: 11. Apr 2010
5 Beiträge
 
Delphi 2010 Enterprise
 
#1

Screenshot verschicken

  Alt 11. Apr 2010, 20:32
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
  Mit Zitat antworten Zitat