Hallo zusammen,
ich mache gerade die ersten Schritte in der objektorientierten Programmierung und hätte zu einem Beispielprogramm eine Verständnisfrage.
Die Daten von meinem Handscanner sollen über die serielle Schnittstelle ausgelesen und in einer WPF-TextBox ausgegeben werden.
Das Auslesen der seriellen Schnittstelle funktioniert. Die Scannerdaten werden in einer MessageBox angezeigt. Beim Versuch diese in die TextBox(TB2) zu schreiben kommt der Fehler:
->"Der aufrufende Thread kann nicht auf dieses Objekt zugreifen, da sich das Objekt im Besitz eines anderen Threads befindet."<-
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: 25: 26:
| public partial class MainWindow : Window { public MainWindow() { InitializeComponent(); SerialPort mySerialPort = new SerialPort("COM1");
mySerialPort.BaudRate = 9600; mySerialPort.Parity = Parity.None; mySerialPort.StopBits = StopBits.One; mySerialPort.DataBits = 8; mySerialPort.Handshake = Handshake.None;
mySerialPort.DataReceived += new SerialDataReceivedEventHandler(DataReceviedHandler);
mySerialPort.Open(); } private void DataReceviedHandler(object sender, SerialDataReceivedEventArgs e) { SerialPort sp = (SerialPort)sender; string indata = sp.ReadExisting(); MessageBox.Show(indata); TB2.Text = indata; } } |
Kann mir jemand einen Lösungsansatz geben?
Danke.
Gruß.
ottto
Moderiert von
Th69: Topic aus IO, XML und Registry verschoben am Do 15.05.2014 um 09:20