Announcement

Collapse
No announcement yet.

Stream Write Error

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Stream Write Error

    Hallo!

    Wisst Ihr zufällig, wie die Fehlermeldung "Stream write error" zustande kommt wenn ich mittels des NMUDP eine Nachricht an den Localhost schicke?

    Gruß:

    Tobias

  • #2
    Wieso hat bloß auf meine Fragen meistens keiner eine Antwort?

    Comment


    • #3
      Vielleicht hat noch nie jemand so etwas gemacht ?

      Vielleicht hat schon jemand so etwas gemacht und findet Deine Informationen zu dürftig ? Zeig mal Deinen Quelltext
      Günther

      Comment


      • #4
        Also:

        Du kennst doch hoffentlich das Beispiel von C++ Builder 4.0 im Verzeichnis Examples/Internet/udp. Da funktioniert alles so wie es soll, aber wenn ich jetzt den selben Code in ein neues Programm einfüge (ist nicht die feine Englische Art, aber soll ja auch nur zum Test sein) und ich dann auf absenden klicke sagt das Programm Stream Write Error, obwohl der selbe Code in der Demo funktioniert. Ich finde das irgendwie merkwürdig. Ich hatte das auch alles schonmal zum laufen gekriegt (ich hatte damals diese Fehler nicht), doch jetzt hatte meine Festplatte einen Crash und ich muss mein Programm nocheinmal neu schreiben. Hier ist mal der Code an dem es happert:
        <b>
        <br>
        void __fastcall TForm1::NMUDP1DataReceived(TComponent *Sender,
        int NumberBytes, AnsiString FromIP)
        <br>
        {
        <br>
        TMemoryStream *MyStream;
        <br>
        AnsiString TmpStr = AnsiString::StringOfChar(' ', NumberBytes+1);
        <br>
        MyStream = new TMemoryStream();
        <br>
        NMUDP1->ReadStream(MyStream);
        <br>
        TmpStr.SetLength(NumberBytes); // trim buffer.
        <br>
        MyStream->ReadBuffer(TmpStr.c_str(),NumberBytes);
        <br>
        TmpStr=(FromIP + ": " + TmpStr);
        <br>
        Memo1->Lines->Add(TmpStr);
        <br>
        MyStream->Free();
        <br>
        }
        <br&gt

        Comment


        • #5
          Hey, jetzt lasst mich nicht hängen, habt ihr keine Ahnung?? Ich bin am verzweifeln

          Comment


          • #6
            Hi Tobias, das Programm udpdemo funktioniert sowohl in der Firma als auch bei mir zuhause einwandfrei. Wenn ich eine ungültige Adresse eingebe kommt zwar kein Text an, aber das Erfolgserlebnis "Data Sent" wird in der Statuszeile angezeigt statt NMUDP1InvalidHost aufzurufen. An Deinem Code kann ich keine Abweichung zum Demo entdecken. Mein Vorschlag: Vergleich noch einmal den Code in Button1Click, und vergleiche alle Einstellungen im Objektinspektor zum NMUDP1. Du kannst mir natürlich auch Deine Exe mit/ohne Quelltext mailen. Tut mir leid, daß ich nicht mehr dazu sagen kann - Günthe
            Günther

            Comment


            • #7
              Das war mir schon irgendwie klar, das du da auch nicht viel entdecken kannst, ich finde das auch irgendwie alles ziemlich unlogisch und mysteriös. Ich werde noch mal schauen was ich machen kann...
              Trotzdem ersteinmal DANKE!
              Tobia

              Comment


              • #8
                Ich habe es jetzt doch hingekriegt, allerdings weiss ich nicht, wo der Fehler liegt, ich habe das ganz unsauber gemacht. Ich habe einfach mein Programm in diese dämliche Demo kopiert und benutze jetzt die Funktion der Demo, weiss ja keiner... :-) Auf jedenfall geht jetzt alles.
                Vielen Dank!!

                Tobia

                Comment


                • #9
                  Hallo Tobias, Der Builder ist sehr empfindlich, wenn man Dateien mit gleichen Dateinamen (z.B. Unit1.Cpp ) aus unterschiedlichen Pfaden, oder Dateien mit identischen Objektnamen ( z.B. Form1 ) gleichzeitig im Editor hat. Du solltest da immer eindeutige Namen vergeben. Könnte ja sein, daß es daran liegt. Gruß - Günthe
                  Günther

                  Comment

                  Working...
                  X