Hallo, ich versuche einen Timer in serialPort1_DataReceived-Event zu starten, jedoch wird das TimerTick-Event danach nicht aufgerufen. Muss man vielleicht einen delegate für die Timer-Funktion Start() implementieren? Der Empfang wird scheinbar in einem eigenen Thread ausgeführt (man kann z.B. die empfangenen Zeichen aus dem DataReceived-Event nicht einfach einer richtextbox zuweisen, weil es in einem anderen Thread ausgeführt wird, da gibt es eine Exception, beim timer1.Start() jedoch nicht). Hat irgend jemand eine Idee? Gruß, Willi
Mit nem delegate funktioniert es auch nicht.
Nach ner längeren Suche habe ich auf der Seite http://www.codeproject.com/cs/internet/SerialCommunication.asp was gefunden. Es funktioniert die timer1.Start Methode muss erst "invoked" werden. Also statt einfach nur timer1.Start(); this.Invoke(new MethodInvoker(timer1.Start)); verwenden und schon funktioniert alles wie gewünscht.
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.