TryError_Tester
Newbie
- Registriert
- Dez. 2018
- Beiträge
- 1
Hallo zusammen,
Ich habe ein c# Programm und eine GUI in der ich mit async dauerhaft die Serielle Schnittstelle ausgeben will.
Hier mal ein Code Ausschnitt:
Ich bekomme jedoch beim Ausführen, bzw. beim ausgeben des eingelesen Char's die folgende Fehlermeldung:
System.InvalidOperationException: "Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement richTextBox_message erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."
Ich habe gelesen, das man irgendwie die GUI Ausgabe in einen Thread packen muss, aber wie genau das gehen soll habe ich nicht herausgefunden.
Danke für Hilfe.
Ich habe ein c# Programm und eine GUI in der ich mit async dauerhaft die Serielle Schnittstelle ausgeben will.
Hier mal ein Code Ausschnitt:
C#:
private Task ReadSerialUART;
private SerialPort SerialPort;
public void StartSerial()
{
try
{
SerialPort.Open();
} catch (Exception)
{
}
this.SerialPort = new SerialPort(this.set.Port, int.Parse(this.set.Baudrate), Parity.None, 8, StopBits.One);
try
{
this.SerialPort.Open();
} catch (Exception e)
{
this.trans.writeText(e.ToString());
this.trans.writeText("Zugriff auf die COM Schnittstelle nicht möglich");
}
finally
{
this.tivi.setComport(this.set.Port);
this.trans.writeText("Verbunden mit " +this.set.Port, "Blue");
ReadSerialUART = new Task(ReadSerial);
ReadSerialUART.Start();
}
}
public void ReadSerial()
{
char Key;
while (1 == 1)
{
Key = (char)this.SerialPort.ReadChar();
this.trans.richTextBox_message.Text += Key; // Ich kann so nicht die Ausgabe auf die TextBox machen
}
}
Ich bekomme jedoch beim Ausführen, bzw. beim ausgeben des eingelesen Char's die folgende Fehlermeldung:
System.InvalidOperationException: "Ungültiger threadübergreifender Vorgang: Der Zugriff auf das Steuerelement richTextBox_message erfolgte von einem anderen Thread als dem Thread, für den es erstellt wurde."
Ich habe gelesen, das man irgendwie die GUI Ausgabe in einen Thread packen muss, aber wie genau das gehen soll habe ich nicht herausgefunden.
Danke für Hilfe.