Entwickler-Ecke
Internet / Netzwerk - bild über TSimpleTCP senden
FrEaKY - Sa 22.05.04 12:32
Titel: bild über TSimpleTCP senden
Hi
ich schreibe ein Prog wo sich TSimpleTCpServer udn TSimpleTCPCLient mit bildern austauschen. Das connecten funktioniert auch wunderbar nur beim versenden des Bildes krieg ich ne Exception der Klasse EAccesViolation . Meldung: Zugriffsverletzung bei Addresse 004720AE im Modul Project1.exe.
Hier der code beim Server der das Bild schickt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14:
| procedure Tform1.Sendpic(jpg:TJPEGImage); var MS:TStream; tmpclient:tsimpletcpclient; begin try MS := TMemoryStream.Create; jpg.CompressionQuality := 80; jpg.Compress; jpg.SaveToStream(MS); Label5.Caption := 'Bytes:'+#10#13+IntToStr(MS.Size); Server.SendStream(tmpclient,MS); finally MS.Free; end; end; |
und hier vom Clienteb wenn er es empfängt:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.clientRead(Sender: TObject; Stream: TStream); var jpg:TJPEGImage; begin try jpg := TJPEGImage.Create; jpg.LoadFromStream(Stream as TMemoryStream); Image2.Picture.Bitmap.Assign(jpg); finally jpg.Free; end; end; |
hoffe mir kann jemand helfen thx
FrEaKY - So 23.05.04 19:53
Warum antwortet denn niemand :crying:
Philer - So 23.05.04 20:08
Also gut...
Du hast einfach den temp. client nicht zugewiesen..
Hier der Server: (Beispiel)[/code]
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18:
| procedure TForm1.Button1Click(Sender: TObject); var Tmp: TSimpleTCPClient; MS:TMemoryStream; begin IF not OpenDialog1.Execute THen exit; try MS := TmemoryStream.Create; MS.LoadFromFile(OpeNDialog1.FileName); IF Server1.Connections.Count <> 0 THEN BEGIN TMP := Server1.Connections[0]; Server1.SendStream(TMP,MS); END; finally MS.Free; end; end; |
Und der Client: Den hast du richitg gemacht :D
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11:
| procedure TForm1.Client1Read(Sender: TObject; Stream: TStream); var jpg:TJPEGImage; begin try jpg := TJPEGImage.Create; jpg.LoadFromStream(Stream as TMemoryStream); Image1.Picture.Bitmap.Assign(jpg); finally jpg.Free; end; end; |
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2025 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!