//___________________________________________________________________________ public void Close() { CP?.PortClose(); }
//_________________________________________________________________________ private void BReadCOM_Click(object sender, EventArgs e) { try { if (CP == null) { CP = new CComPort(this); if (CP.PortCreate() == false) { CP = null; return; } OpeningPort(); } //CP?.PortClose (); //CP = new CComPort (this); //if (CP.CreatePort () == false) //{ // MessageBox.Show ("Порт [" + CP.SP?.PortName + "] не открыт"); // CP = null; // return; //} byte[] btaTX; bool bRet = false; int iCountRequest = 0; if (ChBModeRequest.Checked) { bRet = SendTopRequest(out btaTX, ref iCountRequest); } else { bRet = SendTestRequest(out btaTX); } if (bRet) { CP.SendComm(btaTX, 0, btaTX.Length); if (Properties.Settings.Default.asCommand.Contains(TBCommand.Text) == false) { Properties.Settings.Default.asCommand = TBCommand.Text; } } else { TBCommand.AppendText("Неверная команда " + TBCommand.Lines[iCountRequest]); } if (bSavePropertyes) { bSavePropertyes = false; Properties.Settings.Default.Save(); } } catch (Exception exc) { MessageBox.Show(exc.Message + Environment.NewLine + exc.StackTrace); if (CP != null && CP.PortOpen()) { CP.PortClose(); } } }