private static void _runThread() { try { while (!_stop) { string line = ""; try { line = _port.ReadLine(); _workLine(line); } catch (TimeoutException) { _thread.Join(500); } catch (Exception ex) { StatusInfo.WriteLine("Telefonüberwachnung: Fehler: {0} - Zeile: {1}", ex.Message, line); } } } finally { _thread = null; _port.Close(); StatusInfo.SetCallWatcher(); } }
public static void StartWatch() { if (!Running) { _stop = false; _thread = new Thread(_runThread); try { _port.Open(); } catch (Exception ex) { MessageBox.Show( Program.Form, "Telefonüberwachnung konnte nicht gestartet werden. Fehler: " + ex.Message, "Telefonüberwachnung", MessageBoxButtons.OK, MessageBoxIcon.Error ); } _thread.Start(); StatusInfo.SetCallWatcher(); } }