Über Server-Sockets Bild versenden



  • Hallo, kann mal jemand meine zahlreichen Fehler und irrtümer korrigieren ?
    Ich wollte ein Bild versenden über die Server/Client Socket Komponenten,
    der Code läuft auch zeigt aber nicht das gewünschte Ergebnis (senden des Bildes
    in Image1 nach Image2.
    Das ganze ist nur Testweise zusammengehackt, der Server un der Client sollen natürlich später mal in zwei verschiedene Anwendungen hinein 😉

    void __fastcall TForm1::Button2Click(TObject *Sender)
    {
    
     TMemoryStream *d = new TMemoryStream;
     Image1->Picture->Bitmap->SaveToStream(d);
    
     Form1->Caption = d->Size; // Fehlersuche, richtige Größe angezeigt
    
     // Image2->Picture->Bitmap->LoadFromStream(d);
     // ^ Probeweise, tuts auch schon nicht
    
     Client->Socket->SendBuf(d->Memory,d->Size);
     delete d;
    }
    //---------------------------------------------------------------------------
    
    void __fastcall TForm1::ServerClientRead(TObject *Sender,
          TCustomWinSocket *Socket)
    {
     TMemoryStream *d = new TMemoryStream;
    
     char *g = new char[20000];
    
     int f = Socket->ReceiveLength();
     Form1->Caption = Socket->ReceiveBuf(g,f);
     d->Write(g,f);
    
     Image2->Picture->Bitmap->LoadFromStream(d);
     Image2->Refresh();
    
     delete d;
     delete g;   */
    
    }
    

    [ Dieser Beitrag wurde am 20.01.2003 um 17:26 Uhr von etechniker editiert. ]



  • Nicht vergessen, nach "Arbeiten" am Stream die Position wieder auf 0 zu setzen. Wenn der Zeiger am Ende des Streams steht kann logischerweise nichts gelesen/geladen werden.



  • Jo, thx, das hilft schonmal weiter denke ich. Probiere ich morgen gleich mal aus.


Anmelden zum Antworten