예제 #1
0
        public object UI_Access_Out(E_UI_Ins ins, int timeOut, params object[] parameters)
        {
            lock (v_uiInvokeOver)
            {
                v_uiInvokeOver = false;

                var @out = timeOut;

                Invoke(m_delegate_Uiaccessout, ins, timeOut, parameters);

                if (timeOut > 0)
                {
                    // need to wait for response
                    var waitTime = 0;
                    while ((bool)v_uiInvokeOver)
                    {
                        if (timeOut <= 0)
                        {
                            MyNetException.ThrowIt(MyNetException.TIME_OUT, "界面调用超时:" + ins);
                        }
                        waitTime = timeOut < 50 ? timeOut : 50;
                        Thread.Sleep(waitTime);
                        timeOut -= waitTime;
                    }
                    Console.WriteLine("UI_Access_Out:" + timeOut);
                    return(m_retObj);
                }
            }


            return(null);
        }
예제 #2
0
        private object UI_Access(E_UI_Ins ins, int timeOut, params object[] parameters)
        {
            switch (ins)
            {
            case E_UI_Ins.displaylog:
                break;

            default:
                MyNetException.ThrowIt(MyNetException.FUNC_NOT_SUPPORT, "调用功能不支持:" + ins);
                break;
            }

            if (timeOut > 0)
            {
                v_uiInvokeOver = true;
            }

            return(null);
        }