コード例 #1
0
 public int LoadRunner(IRTSRunner runner, int threadId)
 {
     if (runner != null)
     {
         return(mImmediateT.loadRunner(runner) ? 0 : -1);
     }
     return(-1);
 }
コード例 #2
0
        public object ExecuteImmediate(string cmd)
        {
            mCompiler.reset();
            mCompiler.loadSource(cmd);
            while (mCompiler.isCompiling())
            {
                IRTSDefine.Error error = mCompiler.onCompile(mEngine);
                if (error != 0)
                {
                    logError("rts compile error:" + RTSUtil.getEnumDescript(typeof(IRTSDefine.Error), (int)error) + "-" + mCompiler.getCompilingLinker());
                    return(null);
                }
            }
            IRTSLinker root = mCompiler.getRootLinker();

            if (root != null)
            {
                mImmediateT.loadRunner(root.createRunner());
                while (!mImmediateT.isFinished())
                {
                    try
                    {
                        mImmediateT.run(mEngine);
                    }
                    catch (System.Exception ex)
                    {
                        mImmediateT.catchError(IRTSDefine.Error.Runtime_IndexOutOfBounds, ex.ToString());
                        break;
                    }
                }
                return(mImmediateT.getOutput());
            }
            else
            {
                return(null);
            }
        }