C# eine zyklische funktion unterbrechen

Gast #4569155
Lesenswert?

Hallo Zusammen

Ich habe ein Programm für die Protokollierung von seriellen Daten 
geschrieben und habe das Problem wenn ich die Protokollierung mit einem 
Button starte kann ich es sehr schwer wieder anhalten. Beim Starten wird 
eine bool auf true gesetzt und mit neuerlichem Druck auf den Button wird 
die Variable wieder false, aber da die serielle Schnittstelle ständig 
Daten schickt funktioniert das kaum. Beim VB 6.0 hat es einen Befehl 
gegeben der in diese Routine geschrieben wurde und der hat dann andere 
Aktionen zugelassen. Gibt es bei C# auch so etwas. Bitte um eure Hilfe. 
Danke.

Lg.

Johann K.
Gast #4569187
Lesenswert?

1. Setze die boolsche Variable volatile.

2. Falls es eine while-Warteschleife gibt, z.B. 
while(!serialDataEnabled); mach aus dem Semikolon eine Wartefunktion 
z.B. Thread.Wait(20);

2. Falls das Programm an irgendeiner Stelle abstürzt setzt du da einfach 
ein try{}catch{} hin. Ist vielleicht nicht die optimale Lösung aber ich 
konnte schon oft solche Probleme mit einem try und catch Block ganz 
einfach lösen.
Gast #4569681
Lesenswert?

Hallo Zusammen

Danke für eure Antworten.
Im ersten Schritt reicht mir

Application.DoEvents

vollkommen weil ich das Programm nur für die Entwicklung einer 
Schnittstelle zu meiner Modellbahn (XpressNet) benötige um das Protokoll 
zu überwachen. Danke nochmals.

Lg.

Johann K.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren