ScriptRun Class
Definition
Represents runner for script engine.
Syntax
[ToolboxBitmap(typeof(ScriptRun), "Images.ScriptRun.Python.Icon.bmp")]
public class ScriptRun : Component, IComponent, IDisposable, IScriptRun, IScriptRunBase
Remarks
ScriptRun is a non-visual component that allows executing IronPython scripts and script projects. It allows referencing third-party assemblies and registering application-defined objects to be accessible in the scripts.
The most important properties and methods of the ScriptRun are:
The ScriptHost property provides properties and methods of the underlying scripting engine.
The ScriptSource property contains the source of the script to execute.
The GlobalItems property contains a collection of application objects accessible to the scripts.
The Run() method executes the script.
The RunFunction method executes the specified script function.
Examples
Here is how to run IronPython script using ScriptRun from the C# code:
public partial class Form1 : Form
{
private void Form1_Load(object sender, EventArgs e)
{
var scriptRun = new Alternet.Scripter.IronPython.ScriptRun();
scriptRun.ScriptSource.FromScriptFile(@"c:\myscript.py");
scriptRun.Run();
}
}
Here is how to run IronPython script using ScriptRun from the Visual Basic code:
Partial Public Class Form1
Inherits Form
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs)
Dim scriptRun = New Alternet.Scripter.IronPython.ScriptRun()
scriptRun.ScriptSource.FromScriptFile("c:\myscript.py")
scriptRun.Run()
End Sub
End Class
Constructors
ScriptRun() | Initializes a new instance of the |
ScriptRun(IContainer) | Initializes a new instance of the |
Properties
AutoGenerateTypeDefinitions | Gets or sets whether project should automatically generate type definitions if possible. |
CaseSensitive | When implemented by a class, indicates whether script language is case sensitive. |
CodeEnvironment | |
Compiled | Gets boolean value indicating that script has been compiled and ready to be executed. |
Executed | Gets boolean value indicating that script has been compiled and ready to be executed. |
GlobalItems | Gets or sets a script items collection attached to this runner. |
LoadUserTypeDefinitions | Gets or sets whether users type definitions should be loaded. |
ProjectDirectory | Gets or sets root project directory. |
ScriptHost | Returns object that implements |
ScriptSource | Gets source of the script to execute. |
TypeDefinitionsSearchPaths | Gets or sets list of search directories to look for type definitions. |
Methods
Compile() | Initializes script engine and compiles the script. |
CreateScriptHost() | Creates a new |
CreateScriptSource() | |
Dispose(Boolean) | |
EvaluateExpression(String) | Evaluates specified expression. |
EvaluateExpressionAsync(String, CancellationToken) | Evaluates specified expression asynchronously. |
LoadScript(String) | Load script from specified file. |
OnFileLoad(String) | Invokes |
OnResolveReference(String, out String) | Invokes |
OnScriptCompiled() | Invokes |
OnScriptError(ScriptErrorEventArgs) | Invokes |
OnScriptExecuted() | Invokes |
OnScriptReset() | Invokes |
OnScriptRunning() | Invokes |
Reset() | Resets the script engine and releases all resources. |
Run() | Executes script starting from the main entry point. |
RunAsync(CancellationToken) | Executes script asynchronously starting from the main entry point. |
RunFunction(String, Object[]) | Executes specified function. |
RunFunctionAsync(String, Object[], CancellationToken) | Executes specified function asynchronously. |
RunProcess(String[], Boolean) | Executes script starting from the main entry point in stand-alone process |
Events
FileLoad | Occurs when script code is loaded from file. |
ReferenceResolve | Occurs when assembly reference needs to be resolved. |
ScriptCompiled | Occurs when the script engine running successfully. |
ScriptError | Occurs when the script engine running is failed. |
ScriptExecuted | Occurs when script engine executes the script. |
ScriptReset | Occurs when the script engine is reset. |
ScriptRunning | Occurs when script engine tries to running script. |
Explicit Interface Implementations
IScriptRunBase.ScriptSource |