Delphi-PRAXiS
Seite 4 von 5   « Erste     234 5      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Dateiaustausch zwischen clientsocket und serversocket..^^ (https://www.delphipraxis.net/100996-dateiaustausch-zwischen-clientsocket-und-serversocket-%5E%5E.html)

Muetze1 10. Okt 2007 19:59

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
Jo, und definiert in der Unit Math.pas. Somit die UsesListe um Math erweitern oder selbst schnell eine If Abfrage schreiben...

/EDIT: Ich habe die erste IF Abfrage nochmal auf >= geändert. > muss nicht sein, >= reicht schliesslich schon...

Und wo habe ich eine Klammer vergessen?

cRayZo 10. Okt 2007 20:23

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
okay, das klappt schonmal ;) thx

beim sendeversuch kommt allerdings noch (nach 4 sekunden warten, nach dem buttonklick) ein access violation im Clientprojekt und dieses CPU Fenster öffnet sich. hat da jemand eine idee??:(

//edit: die klammer hattest du bei
Delphi-Quellcode:
Socket.ReceiveBuf(fStreamDataSize, SizeOf(fStreamDataSize));
vergessen, als ich den text kopiert hatte. Jetzt ist sie ja da, gut^^

Progman 10. Okt 2007 20:33

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
Unit math

...zu spät ;)

cRayZo 10. Okt 2007 20:50

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
okay also ich hab den access violation-Fehler mal weiter verfolgt.

er tritt nicht auf, wenn ich das Bitmap im Client nicht vom Stream lade sprich wenn ich folgendes aus dem Code herausnehme:
Delphi-Quellcode:
        // Image einlesen
      Image1.Picture.Bitmap.LoadFromStream(FStream);
also hat der scheinbar ein Problem mit dem laden des Streams würd ich mal sagen, aber was, weiß ich jetzt nicht, habt ihr da eine Idee?

Muetze1 10. Okt 2007 21:25

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
Naja, gibt es denn auch ein Image1 auf deiner Form?

cRayZo 11. Okt 2007 06:44

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
natürlich, ansonsten würde ja schon vor dem Start ein Fehler kommen und das Prog. würde erst gar nicht starten.

Muetze1 11. Okt 2007 09:53

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
Zitat:

Zitat von cRayZo
natürlich, ansonsten würde ja schon vor dem Start ein Fehler kommen und das Prog. würde erst gar nicht starten.

Warum sollte? Du kannst soviele member deklarieren wie du willst (deklarier einfach ein Button55: TButton als Member in deinem Form und dann schau mal ob er meckert). Die Frage ist halt nur, ob nicht vielleicht Image1 nil ist, weil von dem o.g. Code her sollte es klappen. Ansonsten wäre es schliesslicha uch kein Problem mit dem Debugger heraus zu finden, warum es genau kracht. Vom reinen Code her, finde ich nichts entsprechendes. Also: Debugger anschmeissen und mit Haltepunkt-Bedingungen und überwachten Ausdrücken mal nachschauen warum es wo kracht.

cRayZo 11. Okt 2007 13:51

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
Fehler der Klasse EInvalidGraphic
Meldung: Bitmap ist ungültig´

//edit: hab auch nochmal gesucht, aber sowas hilft mir da auch jetzt nicht wirklich.

Muetze1 11. Okt 2007 14:23

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
Wenn das Bitmap wirklich ungültig sein sollte (was eine ganz andere Exception ist als eine Access Violation(!!)), dann kann folgendes sein:

1. Das Bild wird falsch beim Sender in den Stream gespeichert (welcher später versendet wird)
2. Das Bild ist einfach kein Bitmap
3. Das Bild wird zu früh geladen
4. Es werden noch andere Daten dazwischen gesendet (wie man dies auch immer hinbekommen sollte)

Aber um das mal zu untersuchen, wäre es zu empfehlen sich die empfangenen Daten anzuschauen. Also speicher mal den MemoryStream vor dem Anzeigen in dem Image (SaveToFile()) und dann schau mal, ob die Datei vom Inhalt die gleiche ist wie die gesendete...

cRayZo 11. Okt 2007 14:40

Re: Dateiaustausch zwischen clientsocket und serversocket..^
 
sorry, mein Fehler, bin selber drauf gekommen. Beim Server hab ich etwas mit reinkopiert, was schon drinstand. Ich hab die Länge zweimal gesendet, somit war im ankommenden stream nach der rausgefilterten Größe noch immer die Größe am Anfang, welche der stream natürlich nicht ins Bild laden konnte. Es klappt jetzt, nochmal VIELEN DANK!! :mrgreen:

PS: vll nurnoch eine kleine Frage: wie kann man ein Bild von der Größe verkleinern? also halbieren, dritteln..? Antwort muss nicht sein wär aber noch der Punkt auf dem i ;)


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr.
Seite 4 von 5   « Erste     234 5      

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