Пример #1
0
        private void writeRequestForm_buttonSubmitWrite_Click(object sender, EventArgs e)
        {
            writeRequestForm.Close();
            byte[] writeReqData = writeRequestForm.getWriteRequestData();

            var backgroundScheduler = TaskScheduler.Default;
            var uiScheduler         = TaskScheduler.FromCurrentSynchronizationContext();

            f.formBaseDataTable.baseWriteFunctionCode = writeRequestForm.writeFunctionCode;


            if (f._connectType.Equals("TCP"))
            {
                if (f.buttonStop.Enabled)
                {
                    Task.Factory.StartNew(delegate { f.tcpclient.stopTransfer(); }, backgroundScheduler).
                    ContinueWith(delegate { f.tcpclient.writeSendReceive(writeReqData, writeRequestForm.writeFunctionCode); }, backgroundScheduler).
                    ContinueWith(delegate { f.tcpclient.startTransfer(); }, uiScheduler);
                }
                else
                {
                    Task.Factory.StartNew(delegate { f.tcpclient.writeSendReceive(writeReqData, writeRequestForm.writeFunctionCode); });
                }
            }
            else
            {
                if (f.buttonStop.Enabled)
                {
                    Task.Factory.StartNew(delegate { f.serialDataTable.StopTransfer(); }, backgroundScheduler).
                    ContinueWith(delegate { f.serialDataTable.WriteSendReceive(writeReqData, writeRequestForm.writeFunctionCode); }, backgroundScheduler).
                    ContinueWith(delegate { f.serialDataTable.StartTransfer(); }, backgroundScheduler);
                }
                else
                {
                    Task.Factory.StartNew(delegate { f.serialDataTable.WriteSendReceive(writeReqData, writeRequestForm.writeFunctionCode); });
                }
            }
        }
Пример #2
0
        private void writeRequestForm_buttonSubmitWrite_Click(object sender, EventArgs e)
        {
            byte[] writeReqData = null;
            //=====================================================================================
            var backgroundScheduler = TaskScheduler.Default;

            writeReqData = writeRequestForm.getWriteRequestData();
            if (form1._connectType.Equals("TCP"))
            {
                form1.tcpclient.writeSendReceive(writeReqData, writeRequestForm.writeFunctionCode);
            }
            else
            {
                form1.serialDataTable.WriteSendReceive(writeReqData, writeRequestForm.writeFunctionCode);
            }

            this.Close();
            writeRequestForm.Close();



            //writeReqData = writeRequestForm.getWriteRequestData();
            //if (form1._connectType.Equals("TCP"))
            //{
            //    if (form1.buttonStop.Enabled)
            //    {
            //        Task.Factory.StartNew(delegate { form1.tcpclient.writeSendReceive(writeReqData, writeRequestForm.writeFunctionCode); }, backgroundScheduler).
            //            ContinueWith(delegate { form1.tcpclient.startTransfer(); }, backgroundScheduler);
            //        //Task.Factory.StartNew(delegate { form1.tcpclient.stopTransfer(); }, backgroundScheduler).
            //        //ContinueWith(delegate { form1.tcpclient.writeSendReceive(writeReqData, writeRequestForm.writeFunctionCode); }, backgroundScheduler).
            //        //ContinueWith(delegate { form1.tcpclient.startTransfer(); }, uiScheduler);
            //    }
            //    else
            //    {

            //        Task.Factory.StartNew(delegate { form1.tcpclient.writeSendReceive(writeReqData, writeRequestForm.writeFunctionCode); });
            //    }
            //}
            //else
            //{
            //    if (form1.buttonStop.Enabled)
            //    {
            //        Task.Factory.StartNew(delegate { form1.serialDataTable.stopTransfer(); }, backgroundScheduler).
            //    ContinueWith(delegate { form1.serialDataTable.writeSendReceive(writeReqData, writeRequestForm.writeFunctionCode); }, backgroundScheduler).
            //    ContinueWith(delegate { form1.serialDataTable.startTransfer(); }, backgroundScheduler);
            //    }
            //    else
            //    {
            //        Task.Factory.StartNew(delegate { form1.serialDataTable.writeSendReceive(writeReqData, writeRequestForm.writeFunctionCode); });
            //    }
            //}


            //writeRequestForm.Close();
            //if (form1._connectType.Equals("TCP"))
            //    form1.tcpclient.writeSendReceive(writeReqData, writeMultiReqFuncCode);
            //else
            //    form1.serialDataTable.writeSendReceive(writeReqData, writeMultiReqFuncCode);
            //this.Close();
            //writeRequestForm.Close();
            //=====================================================================================

            //if (form1._connectType.Equals("TCP"))
            //    form1.tcpclient.writeSendReceive(writeReqData, writeMultiReqFuncCode);
            //else
            //    form1.serialDataTable.writeSendReceive(writeReqData, writeMultiReqFuncCode);
            //this.Close();
            //writeRequestForm.Close();
        }