Hallo zusammen,
Szenario:
Ich habe ein Messgerät welches ich per Serielle Schnittstelle auslesen will.
Das Auslesen ist nicht das Problem. Das Problem ist, die Daten der Methode einer anderen Klasse, die in einem separaten Thread läuft, auszulesen.
In der Main Klasse habe ich eine TextBox die den ausgelesenen string anzeigen soll.
Wie kann ich nun die Daten aus eine anderen Klasse mit eigenen Thread an die TextBox, die sich in der class Form1 befindet, schicken.
Das ist die Main Klasse. In dieser befindet sich auch die TextBox in welcher die erbenisse auftauchen sollen.
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19:
| namespace Fluke { public partial class Form1 : Form { private serial CSerial; public Form1() { InitializeComponent(); } void show_Click(object sender, System.EventArgs e) { CSerial = new serial(serialPort1); } void Stop_Click(object sender, System.EventArgs e) { CSerial.closeThread(); } } } |
Diese soll das auslesen übernehmen
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: 27: 28: 29: 30:
| namespace Fluke { class serial { private string m_buffer; private Thread thethread; private SerialPort serial1; public serial(SerialPort serial1) { m_buffer = ""; this.serial1 = serial1; this.serial1.Open(); thethread = new Thread(new ThreadStart(do_the_job)); thethread.Start(); } public void closeThread() { thethread.Abort(); this.serial1.Close(); } private void do_the_job() { for (int i = 0; i < 100000; i++) { m_buffer = Convert.ToString(i + i / 2); } } } } |
P.S.
Die for schleife soll nur das Messgerät Simulieren.
Grüße