Forum: PC-Programmierung .NET 2.0 in serialPort1_DataReceived-Event Timer starten


von Billy _. (slowflyer)


Lesenswert?

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

von Billy _. (slowflyer)


Lesenswert?

Mit nem delegate funktioniert es auch nicht.

von Billy _. (slowflyer)


Lesenswert?

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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.