/// <summary> /// /// </summary> /// <param name="ccmd"></param> /// <param name="ccpd"></param> private void Exe(CommCmdMakerDelegate ccmd, CommCmdProcessDelegate ccpd) { System.Diagnostics.Debug.Assert(ccmd != null && ccpd != null); if (IsSelectedXgStation()) { XGStation xgst = GetSelectedXg(); if (IsGprsConnected(xgst)) { CommCmdBase cmd = ccmd(xgst); TaskStrategy strategy = new ImmediateTaskStrategy(); Task t = new Task(cmd, strategy); frmControlProcess f = new frmControlProcess(t); Singles.S.TaskScheduler.Tasks.AddFirstExectueTask(t); f.ShowDialog(); if (t.LastCommResultState == CommResultState.Correct) { ccpd(cmd); } } else { ShowNotConnect(); } } else { ShowNoStationSelected(); } }
/// <summary> /// /// </summary> /// <param name="ccmd"></param> /// <param name="ccmp"></param> private void ExeAll(CommCmdMakerDelegate ccmd) //, CommCmdProcessDelegate ccmp ) { XGStationsCollection xgstColl = Singles.S.XGStsCollection; for (int i = 0; i < xgstColl.Count; i++) { XGStation xgst = xgstColl[i]; if (xgst.ServerIP == XGConfig.Default.ServerIP) { // CommCmdBase cmd = new ReadDateCommand( xgst ); CommCmdBase cmd = ccmd(xgst); Task t = new Task(cmd, new ImmediateTaskStrategy()); t.AfterProcessReceived += new EventHandler(t_AfterProcessReceived); Singles.S.TaskScheduler.Tasks.Add(t); } } MsgBox.Show("命令已提交!"); }