使用ScriptControl令程序增加脚本功能
来源:互联网 发布:机智的监狱生活 知乎 编辑:程序博客网 时间:2024/06/10 00:56
1. 导入Microsoft ScriptControl到ActiveX
2. 实现一个自定义的对象IMyObject(Unit2)
3. 使用(Unit1),可用使用下面的脚本:
MyObject.ShowMsg("MyObject hello");
Count = 1000;
AddCount();
ShowMsg("Count=" + Count);
IE.Navigate("http://www.google.com");
unit Unit2;
{$WARN SYMBOL_PLATFORM OFF}
interface
uses
ComObj, ActiveX, ScriptTest_TLB, StdVcl, Dialogs;
type
TMyObject = class(TAutoObject, IMyObject)
protected
FCount: Integer;
function ShowMsg(const s: WideString): Integer; safecall;
function Get_Count: Integer; safecall;
procedure AddCount; safecall;
procedure Set_Count(Value: Integer); safecall;
public
procedure Initialize; override;
end;
implementation
uses ComServ;
function TMyObject.ShowMsg(const s: WideString): Integer;
begin
ShowMessage(S);
Result:= 1;
end;
function TMyObject.Get_Count: Integer;
begin
Result:= FCount;
end;
procedure TMyObject.AddCount;
begin
Inc(FCount);
end;
procedure TMyObject.Set_Count(Value: Integer);
begin
FCount:= Value;
end;
procedure TMyObject.Initialize;
begin
FCount:= 0;
inherited;
end;
initialization
TAutoObjectFactory.Create(ComServer, TMyObject, Class_MyObject,
ciMultiInstance, tmApartment);
end.
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, OleCtrls, MSScriptControl_TLB, StdCtrls, Unit2, SHDocVw;
type
TForm1 = class(TForm)
ScriptControl: TScriptControl;
Memo1: TMemo;
Button1: TButton;
WebBrowser: TWebBrowser;
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormDestroy(Sender: TObject);
private
{ Private declarations }
public
MyObject: TMyObject;
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
ScriptControl.Reset;
ScriptControl.Error.Clear;
ScriptControl.AddObject('MyObject', MyObject, True);
ScriptControl.AddObject('IE', WebBrowser.DefaultInterface, False);
ScriptControl.ExecuteStatement(Memo1.Lines.Text);
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
MyObject:= TMyObject.Create;
MyObject.ObjAddRef;
end;
procedure TForm1.FormDestroy(Sender: TObject);
begin
MyObject.ObjRelease;
end;
end.
- 使用ScriptControl令程序增加脚本功能
- 使用msscript.ocx组件的ScriptControl调用VBS脚本
- 使用SCRIPTCONTROL注意
- MSScriptControl.ScriptControl控件使用
- ScriptControl
- MSScriptControl.ScriptControl控件使用问题
- 协同程序功能脚本
- PDF10 增加书签功能的JS脚本
- C# 利用 ScriptControl 动态执行JS 和VBS脚本
- 使用脚本引擎增加程序运行时动态执行能力(Java篇)
- 在程序增加多语言功能
- 使用x-webkit-speech令网站支持语音输入功能
- 使用脚本处理字符串,前后增加“”
- Ubuntu Tweak 0.2.10发布:增加脚本管理功能
- 在myeclipse中编辑javascript脚本时增加提示功能
- 如何使用ASP.NET AJAX ExtenderControl 和 ScriptControl
- 在x64 OFFICE中使用ScriptControl控件的方法
- hadoop使用kerberos增加权限验证功能
- 跪请众朋友帮我找下问题出在哪里?--4
- 正则表达式 ((/w*|(/w/s*/w*)*)(/w*/S))$ ((/w*|(/w/s*(.)*/w*)*)(/w*/S))$ .net 前后去掉(没有)空格
- Prevent Enter and Esc close dialog program
- usaco 3.4 Closed Fences 计算几何
- 用Java动态代理实现AOP
- 使用ScriptControl令程序增加脚本功能
- GridView中修改TextBox模板列的寬度
- 《上帝掷骰子吗:量子物理史话》读后感
- MyGeneration13.01界面问题解决
- Edit控件密码窗口的秘密--一种全新的通用密码记录技术
- 封装ASP.NET操作ACCESS数据库常用操作的类
- ASP.NET 获得指定URL地址的域名部分
- 毁掉孩子一生的11种教育方法
- 当成精神病时怎样证明自己是正常人呢