예제 #1
0
        void ReloadScript()
        {
            int count = Interlocked.Increment(ref _loadCount);

            try
            {
                if (count == 1)
                {
                    FlagFileModified();
                    if (_context != null)
                    {
                        RaiseScriptMonitorEvent(OnScriptUnLoading);
                    }
                    CreateScript();
                    RaiseScriptMonitorEvent(OnScriptLoading);

                    _context.Execute();
                    RaiseScriptMonitorEvent(OnScriptLoaded);
                }
            }
            finally
            {
                Interlocked.Decrement(ref _loadCount);
            }
        }
예제 #2
0
        public void RunScript(string Code)
        {
            try
            {
                Compile(Code);
                var retval = _context.Execute();
                if (retval != null)
                {
                    retval = _context.CreateLocalScope()
                             .SetVariable("expressionToEvaluate", retval)
                             .Evaluate("repr(expressionToEvaluate)");

                    LogMessage(retval.ToString() + System.Environment.NewLine);
                }
                UpdateVariables();
            }
            catch (Exception e)
            {
                LogMessage(e.Message + System.Environment.NewLine);
            }
        }