Entwickler-Ecke
WinForms - ListBox wird nicht gefüllt
MaWo80 - Fr 16.01.09 11:31
Titel: ListBox wird nicht gefüllt
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
Christian S. - 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.
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!