protected void AddError(MicrosoftScriptError error) { if (_errors == null) { _errors = new ArrayList(); } this._errors.Add(error); }
public void ExecuteFunction(string functionName, params object[] parameters) { IZeusContext context = null; try { context = MicrosoftScriptControl.Eval("context") as IZeusContext; object tmpReturn = MicrosoftScriptControl.Run(functionName, ref parameters); } catch (System.Runtime.InteropServices.COMException) { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); this.AddError(error); } }
public void EngineExecuteGuiCode(IZeusCodeSegment segment, IZeusContext context) { // If the template has an interface block, execute it if (!segment.IsEmpty) { if (!HasErrors) { int step = 0; try { MicrosoftScriptControl.Timeout = (_timeout == -1 ? MSScriptControl.ScriptControlConstants.NoTimeout : (_timeout * 1000)); MicrosoftScriptControl.Language = segment.Language; MicrosoftScriptControl.AllowUI = true; MicrosoftScriptControl.UseSafeSubset = false; MicrosoftScriptControl.Reset(); MicrosoftScriptControl.AddObject("input", context.Input, true); MicrosoftScriptControl.AddObject("context", context, true); foreach (string key in context.Objects.Keys) { if (key != "input") MicrosoftScriptControl.AddObject(key, context.Objects[key], true); } step = 1; MicrosoftScriptControl.AddCode(segment.Code); step = 2; object[] paramList = new object[0]; object tmpReturn = MicrosoftScriptControl.Run(GUI_ENTRY_NAME, ref paramList); if (context.Gui.ShowGui || context.Gui.ForceDisplay) { OnShowGUI(context.Gui); } } catch (System.Runtime.InteropServices.COMException) { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); if (step < 2) error.IsRuntime = false; this.AddError(error); } catch (Exception ex) { if ((MicrosoftScriptControl.Error == null) || (MicrosoftScriptControl.Error.Description == null)) { throw ex; } else { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); if (step < 2) error.IsRuntime = false; this.AddError(error); } } MicrosoftScriptControl.Reset(); } } }
protected void AddError(MicrosoftScriptError error) { if (_errors == null) _errors = new ArrayList(); this._errors.Add(error); }
public void EngineExecuteCode(IZeusCodeSegment segment, IZeusContext context) { // If the segment isn't empty, execute it if (!segment.IsEmpty) { if (!HasErrors) { int step = 0; try { if (context.ExecutionDepth > 1) { ScriptStack.Push( new MSScriptControl.ScriptControl() ); } MicrosoftScriptControl.Timeout = (_timeout == -1 ? MSScriptControl.ScriptControlConstants.NoTimeout : (_timeout * 1000) ); MicrosoftScriptControl.Language = segment.Language; MicrosoftScriptControl.AllowUI = true; MicrosoftScriptControl.UseSafeSubset = false; MicrosoftScriptControl.AddObject("output", context.Output, true); MicrosoftScriptControl.AddObject("input", context.Input, true); MicrosoftScriptControl.AddObject("context", context, true); foreach (string key in context.Objects.Keys) { if ((key != "output") && (key != "input")) MicrosoftScriptControl.AddObject(key, context.Objects[key], true); } string entryCode = this.ScriptingEntryCall(segment.Language) as String; string entryCall = BODY_ENTRY_NAME; step = 1; MicrosoftScriptControl.AddCode(segment.Code); MicrosoftScriptControl.AddCode(entryCode); step = 2; object[] paramList = new object[0]; object tmpReturn = MicrosoftScriptControl.Run(entryCall, ref paramList); } catch (System.Runtime.InteropServices.COMException) { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); if (step < 2) error.IsRuntime = false; this.AddError(error); } catch (Exception ex) { if ((MicrosoftScriptControl.Error == null) || (MicrosoftScriptControl.Error.Description == null)) { throw ex; } else { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); if (step < 2) error.IsRuntime = false; this.AddError(error); } } finally { MicrosoftScriptControl.Reset(); if (context.ExecutionDepth > 1) ScriptStack.Pop(); } } } }
public void EngineExecuteGuiCode(IZeusCodeSegment segment, IZeusContext context) { // If the template has an interface block, execute it if (!segment.IsEmpty) { if (!HasErrors) { int step = 0; try { MicrosoftScriptControl.Timeout = (_timeout == -1 ? MSScriptControl.ScriptControlConstants.NoTimeout : (_timeout * 1000)); MicrosoftScriptControl.Language = segment.Language; MicrosoftScriptControl.AllowUI = true; MicrosoftScriptControl.UseSafeSubset = false; MicrosoftScriptControl.Reset(); MicrosoftScriptControl.AddObject("input", context.Input, true); MicrosoftScriptControl.AddObject("context", context, true); foreach (string key in context.Objects.Keys) { if (key != "input") { MicrosoftScriptControl.AddObject(key, context.Objects[key], true); } } step = 1; MicrosoftScriptControl.AddCode(segment.Code); step = 2; object[] paramList = new object[0]; object tmpReturn = MicrosoftScriptControl.Run(GUI_ENTRY_NAME, ref paramList); if (context.Gui.ShowGui || context.Gui.ForceDisplay) { OnShowGUI(context.Gui); } } catch (System.Runtime.InteropServices.COMException) { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); if (step < 2) { error.IsRuntime = false; } this.AddError(error); } catch (Exception ex) { if ((MicrosoftScriptControl.Error == null) || (MicrosoftScriptControl.Error.Description == null)) { throw ex; } else { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); if (step < 2) { error.IsRuntime = false; } this.AddError(error); } } MicrosoftScriptControl.Reset(); } } }
public void EngineExecuteCode(IZeusCodeSegment segment, IZeusContext context) { // If the segment isn't empty, execute it if (!segment.IsEmpty) { if (!HasErrors) { int step = 0; try { if (context.ExecutionDepth > 1) { ScriptStack.Push(new MSScriptControl.ScriptControl()); } MicrosoftScriptControl.Timeout = (_timeout == -1 ? MSScriptControl.ScriptControlConstants.NoTimeout : (_timeout * 1000)); MicrosoftScriptControl.Language = segment.Language; MicrosoftScriptControl.AllowUI = true; MicrosoftScriptControl.UseSafeSubset = false; MicrosoftScriptControl.AddObject("output", context.Output, true); MicrosoftScriptControl.AddObject("input", context.Input, true); MicrosoftScriptControl.AddObject("context", context, true); foreach (string key in context.Objects.Keys) { if ((key != "output") && (key != "input")) { MicrosoftScriptControl.AddObject(key, context.Objects[key], true); } } string entryCode = this.ScriptingEntryCall(segment.Language) as String; string entryCall = BODY_ENTRY_NAME; step = 1; MicrosoftScriptControl.AddCode(segment.Code); MicrosoftScriptControl.AddCode(entryCode); step = 2; object[] paramList = new object[0]; object tmpReturn = MicrosoftScriptControl.Run(entryCall, ref paramList); } catch (System.Runtime.InteropServices.COMException) { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); if (step < 2) { error.IsRuntime = false; } this.AddError(error); } catch (Exception ex) { if ((MicrosoftScriptControl.Error == null) || (MicrosoftScriptControl.Error.Description == null)) { throw ex; } else { MicrosoftScriptError error = new MicrosoftScriptError(MicrosoftScriptControl.Error, context); if (step < 2) { error.IsRuntime = false; } this.AddError(error); } } finally { MicrosoftScriptControl.Reset(); if (context.ExecutionDepth > 1) { ScriptStack.Pop(); } } } } }