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:
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) { data = data.Replace("\r\n", " "); string Nutzdaten = ""; int Nutzdatenstart = 0; Nutzdatenstart = data.IndexOf("8204"); if (Nutzdatenstart > 1) { Nutzdaten = data.Substring(Nutzdatenstart + 8); Nutzdaten = this.ConvertHexToAscii(Nutzdaten); lbxEingang.Items.Insert(0, Nutzdaten); } } |
kann den Fehler jemand nachvollziehen ??
Moderiert von
Kha: Quote- durch C#-Tags ersetzt