Esempio n. 1
0
        private static void RunControlRunner(MainForm form, string[] args)
        {
            Console.WriteLine("Thread {0}", Thread.CurrentThread.Name);
            Console.WriteLine("InvokeRequired {0}", form.InvokeRequired);
            var uir = new ControlRunner(form, (ex) =>
            {
                Console.WriteLine(ex.Message);
                throw new Exception("Should be ignored");
            });
            var ior = new ThreadRunner("Runner");

            ior.Run(() =>
            {
                Console.WriteLine("InvokeRequired {0}", form.InvokeRequired);
                Console.WriteLine("Thread {0}", Thread.CurrentThread.Name);
                uir.Run(() => { throw new Exception("Should be catched"); });
                uir.Run(() =>
                {
                    Console.WriteLine("InvokeRequired {0}", form.InvokeRequired);
                    Console.WriteLine("Thread {0}", Thread.CurrentThread.Name);
                    Console.WriteLine("form.Text {0}", form.Text);
                    form.Close();
                });
            });
        }
Esempio n. 2
0
 private void IoClose()
 {
     Disposer.Dispose(master);
     SetMaster(null);
     uir.Run(() => {
         EnableControls(true);
     });
 }
 void ModbusControl_Load(object sender, EventArgs e)
 {
     uir = new ControlRunner(this);
     ior = new ThreadRunner("IO", (Exception ex) => {
         IoClose();
         uir.Run(() => Log("error", "Error: {0}", ex.Message));
     });
     RefreshSerials();
     EnableControls(true);
     timer.Enabled = pollCheckBox.Checked;
 }
 private void IoClose()
 {
     Disposer.Dispose(iom);
     iom = new NopManager();
     uir.Run(() =>
     {
         buffer.Flush();
         EnableControls(true);
     });
 }
Esempio n. 5
0
 void MainFormLoad(object sender, EventArgs e)
 {
     uir = new ControlRunner(this);
     ior = new ThreadRunner("IO", (Exception ex) => {
         IoClose();
         uir.Run(() => {
             Log("error", "Error: {0}", ex.Message);
         });
     });
     Text = string.Format("{0} - {1} https://github.com/samuelventura/SharpMaster", Text, Exe.VersionString());
     WrapRunner.Try(() => {
         LoadSettings();
     });
     RefreshSerials();
     EnableControls(true);
 }
 private void IoClose()
 {
     IoDispose();
     IoSetMaster(null);
     uir.Run(() => EnableControls(true));
 }