Autor Beitrag
MaWo80
Hält's aus hier
Beiträge: 2



BeitragVerfasst: Fr 16.01.09 11:31 
Hallo, ich habe folgendes Problem. Ich bekomme Daten über den SerialPort zugesendet. diese Bearbeite ich und möchte Sie anschließend in eine Listbox schreiben. Wenn ich im Visual Studio die Anwendung step für step debugge, dann wird die Listbox gefüllt so wie ich das möchte. Wenn ich die Anwendung direkt laufen lasse, dann wird die Listbox nicht gefüllt.

Hier die 2 zuständigen Funktionen:
ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
24:
delegate void MessageDataDelegate(string data);

        private void SerialPort_DataReceived(object sender, System.IO.Ports.SerialDataReceivedEventArgs e)
        {

            MessageDataDelegate dlgte = new MessageDataDelegate(MessageData);          
            string recvData = serialPort1.ReadExisting();
            this.BeginInvoke(dlgte, new object[] { recvData });                        
        }

        private void MessageData(string data)
        {
            //a = a.Replace("\r\n", " ");
            data = data.Replace("\r\n"" ");
            string Nutzdaten = "";
            int Nutzdatenstart = 0;
            Nutzdatenstart = data.IndexOf("8204");// gibt den Start von 8204 zurück
            if (Nutzdatenstart > 1)
            {
                Nutzdaten = data.Substring(Nutzdatenstart + 8);
                Nutzdaten = this.ConvertHexToAscii(Nutzdaten);
                lbxEingang.Items.Insert(0, Nutzdaten);
            }
        }


kann den Fehler jemand nachvollziehen ??

Moderiert von user profile iconKha: Quote- durch C#-Tags ersetzt
Christian S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 20451
Erhaltene Danke: 2264

Win 10
C# (VS 2019)
BeitragVerfasst: Sa 17.01.09 12:51 
Hast Du mal geschaut, was passiert, wenn Du Invoke statt BeginInvoke benutzt? Ich bin mir nicht sicher, ob das was bringt, aber es ist der einzige Ansatzpunkt, der mir jetzt einfallen würde.

_________________
Zwei Worte werden Dir im Leben viele Türen öffnen - "ziehen" und "drücken".