private void btnEditScript_Click(object sender, System.EventArgs e) { frmScript f = new frmScript(); // Show script editing dialog with current script source f.ScriptSource = ScriptSource; if (f.ShowDialog(this) == DialogResult.Cancel) { return; } // Update local script source ScriptSource = f.ScriptSource; // Use the compiled plugin that was produced Script = f.CompiledScript; Script.Initialize(this); }
private void btnOk_Click(object sender, System.EventArgs e) { CompilerResults results; string reference; Cursor = Cursors.WaitCursor; // Find reference reference = System.IO.Path.GetDirectoryName(Application.ExecutablePath); if (!reference.EndsWith(@"\")) { reference += @"\"; } reference += "interfaces.dll"; // Compile script lvwErrors.Items.Clear(); results = Scripting.CompileScript(ScriptSource, reference, Scripting.Languages.VB); if (results.Errors.Count == 0) { _compiledScript = (Interfaces.IScript)Scripting.FindInterface(results.CompiledAssembly, "IScript"); DialogResult = DialogResult.OK; } else { ListViewItem l; // Add each error as a listview item with its line number foreach (CompilerError err in results.Errors) { l = new ListViewItem(err.ErrorText); l.SubItems.Add(err.Line.ToString()); lvwErrors.Items.Add(l); } MessageBox.Show("Compile failed with " + results.Errors.Count.ToString() + " errors.", Application.ProductName, MessageBoxButtons.OK, MessageBoxIcon.Stop); } Cursor = Cursors.Default; }