Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Bild mit Filestream versenden (https://www.delphipraxis.net/29922-bild-mit-filestream-versenden.html)

Neutral General 16. Sep 2004 18:57


Bild mit Filestream versenden
 
Das Problem ist nicht unbedingt das senden sondern das empfangen ...
So sende ich das Bild :

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var MStream : TFileStream;
    Bild : TBitmap;
begin
 MStream := TFileStream.Create('screen.bmp',fmcreate);
 Bild := Image2.Picture.Bitmap;
 MStream.Write(Bild,sizeof(MStream));
 BildClient.SendStream(MStream);   // BildClient := TSimpleTCPClient
 MStream.Free;
end;
Das funktioniert auch aber das empfangen funktioniert nicht ... :

Delphi-Quellcode:
procedure TForm1.BildServerClientRead(Sender: TObject;
  Client: TSimpleTCPClient; Stream: TStream);
var Bild : TBitmap;
begin
    Stream.Read(Bild,Stream.Size);
    Form3.Image1.Picture.Bitmap := Bild;
end;
Entweder bekomme ich jede menge Zugriffsverletzungen-Fehler oder wenn ich es ewas anders mache andere Fehler aber es funktioniert nie ...
Was mache ich falsch ?

SleepyMaster 16. Sep 2004 19:21

Re: Bild mit Filestream versenden
 
Gehts vielleicht so:

Delphi-Quellcode:
procedure TForm1.Timer1Timer(Sender: TObject);
var
  MStream : TMemoryStream;
begin
MStream := TMemoryStream.Create;
Image2.Picture.Bitmap.SaveToStream(MStream);
MStream.Position:=0;
BildClient.SendStream(MStream);   // BildClient := TSimpleTCPClient
MStream.Free;
end;
Delphi-Quellcode:
procedure TForm1.BildServerClientRead(Sender: TObject;
  Client: TSimpleTCPClient; Stream: TStream);
begin
    Form3.Image1.Picture.Bitmap.LoadFromStream(Stream);
end;

Neutral General 16. Sep 2004 19:41

Re: Bild mit Filestream versenden
 
Danke,
Also bei meinem eigenen PC funktioniert es ..
ich muss es jetzt nur noch im netztwerk ausprobieren ..

[Edit]Ich habs ausprobiert : "Bitmap ist ungültig"
irgendwas ist da noch falsch ... :( [/edit]


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:16 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz