Beispiel #1
0
        private void FormMain_Load(object sender, EventArgs e)
        {
            FormMain.m_mq = new MQ();
            saveDataToLog = string.Equals(bool.TrueString, System.Configuration.ConfigurationManager.AppSettings["SaveDataToLog"], StringComparison.CurrentCultureIgnoreCase);

            //初始化数据解析类
            bool iniCheck = CheckIniConfig();

            DataBase   = new MySQLDBHelper();
            dataHelper = new DataDealHelper(DataBase);

            //初始化处理线程
            dealThread = new Thread(dataHelper.DealStatus);
            saveThread = new Thread(dataHelper.SaveStatus);

            textTcpPort.Text = ini.ReadValue("LocalHost", "TCPLocalPort");
            textUdpPort.Text = ini.ReadValue("LocalHost", "UDPLocalPort");

            //初始化存储数据库的计时器(5秒更新一次数据库)
            dbTimer           = new System.Timers.Timer(10000);
            dbTimer.AutoReset = true;
            dbTimer.Elapsed  += DbTimer_Elapsed;

            EquipmentHelper.MyEvent += new EquipmentHelper.MyDelegate(SendDataResponse);
            DataDealHelper.MyEvent  += new DataDealHelper.MyDelegate(SendDataResponse);

            this.timercounter = 0;
        }
Beispiel #2
0
        private void FormMain_FormClosing(object sender, FormClosingEventArgs e)
        {
            try
            {
                if (netServer != null)
                {
                    netServer.TCPReceiveData -= Server_TCPReceiveData;
                    netServer.UDPReceiveData -= Server_UDPReceiveData;
                    netServer.Dispose();
                    netServer = null;
                }
                if (dataHelper != null)
                {
                    dataHelper.Dispose();
                    dataHelper = null;
                }
                if (dbTimer != null)
                {
                    dbTimer.Stop();
                    dbTimer.Dispose();
                }

                #region 关闭工具
                List <int> pid = new List <int>();
                Process[]  PL  = Process.GetProcessesByName("ReceviceFileTool");
                foreach (Process item in PL)
                {
                    pid.Add(item.Id);
                }
                foreach (int idtmp in pid)
                {
                    Process deleteP = Process.GetProcessById(idtmp);
                    deleteP.Kill();
                }
                #endregion

                //  m_mq.Close();//关闭MQ连接  注  进程中关闭的时候会有异常
                System.Environment.Exit(0);
            }
            catch (Exception)
            {
                this.Close();
            }
        }