WEB开发网
开发学院软件开发C语言 C#发现之旅:于动态编译的VB.NET脚本引擎(下) 阅读

C#发现之旅:于动态编译的VB.NET脚本引擎(下)

 2010-09-30 21:08:13 来源:WEB开发网   
核心提示: 和其他类型不一样,笔者设置该类型的名称空间为MyVBAScript.Global,C#发现之旅:于动态编译的VB.NET脚本引擎(下)(4),这样是为了将全局对象和其他类型区别开来,减少VB.NET编译器的工作量

和其他类型不一样,笔者设置该类型的名称空间为MyVBAScript.Global,这样是为了将全局对象和其他类型区别开来,减少VB.NET编译器的工作量。

初始化脚本引擎

在窗体的加载事件中我们初始化脚本引擎,其代码为

private void frmMain_Load(object sender, EventArgs e)
{
    //初始化窗体
 
    // 创建脚本引擎
    myVBAEngine = new XVBAEngine();
    myVBAEngine.AddReferenceAssemblyByType(this.GetType());
    myVBAEngine.VBCompilerImports.Add("MyVBAScript.Global");
    // 设置脚本引擎全局对象
    MyVBAScript.Global.GlobalObject.myWindow = new XVBAWindowObject(this, myVBAEngine, this.Text);
    MyVBAScript.Global.GlobalObject.myDocument = new DocumentClass(this);
    // 加载演示脚本文本
    string strDemoVBS = System.IO.Path.Combine(System.Windows.Forms.Application.StartupPath, "demo.vbs");
    if (System.IO.File.Exists(strDemoVBS))
    {
        System.IO.StreamReader reader = new System.IO.StreamReader(strDemoVBS, System.Text.Encoding.GetEncoding("gb2312"));
        string script = reader.ReadToEnd();
        reader.Close();
        myVBAEngine.ScriptText = script;
        if (myVBAEngine.Compile() == false)
        {
            this.txtEditor.Text = "编译默认脚本错误:"r"n" + myVBAEngine.CompilerOutput;
        }
        // 刷新脚本方法列表
        this.RefreshScriptMethodList();
    }
}

上一页  1 2 3 4 5 6 7 8  下一页

Tags:发现 之旅 动态

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接