예제 #1
0
        // Доплнительная функция для асинхронного вызова
        public void GetTimeCallBack(IAsyncResult ar)
        {
            GetTimeDelegate d = (GetTimeDelegate)((AsyncResult)ar).AsyncDelegate;

            try
            {
                string str = d.EndInvoke(ar);
                this.BeginInvoke(new SetTextBoxDelegate(SetTextBox), new object[] { str });
            }
            catch (Exception ex)
            {
                ShowError("Вызов не прошёл. Возможно, не установлен сервер.\n" + ex.Message);
            }
        }
예제 #2
0
        // Асинхронный вызов
        private void btnCallAsynch_Click(object sender, EventArgs e)
        {
            textBoxResult.Text = "";
            Application.DoEvents();

            if (comboAction.SelectedIndex == 0)
            {
                AsyncCallback   cb = new AsyncCallback(this.GetTimeCallBack);
                GetTimeDelegate d  = new GetTimeDelegate(trans.GetTime);
                IAsyncResult    ar = d.BeginInvoke(cb, null);
            }
            else
            {
                AsyncCallback        cb = new AsyncCallback(this.GetTimeArrayCallBack);
                GetTimeArrayDelegate d  = new GetTimeArrayDelegate(trans.GetTimeArray);
                IAsyncResult         ar = d.BeginInvoke((int)numericUpDown1.Value, cb, null);
            }
        }