日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

脚本宿主程序

發布時間:2025/3/8 编程问答 14 豆豆
生活随笔 收集整理的這篇文章主要介紹了 脚本宿主程序 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

宿主的功用:

裝載.dfm文件動態生成窗體;

注冊動態生成窗體中的類,對象,屬性,方法,函數,從而讓腳本引擎能夠操作它們。

?

下面以TMS SCRIPTER STUDIO為例:

?unit uMain;

interface

uses
? Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
? Dialogs, Menus, atScript, atPascal;

type
? TFormMain = class(TForm)
??? MainMenu1: TMainMenu;
??? Scripter: TatPascalScripter;
??? m1: TMenuItem;
??? N11: TMenuItem;
??? N21: TMenuItem;
??? procedure N11Click(Sender: TObject);
??? procedure N21Click(Sender: TObject);
? private
??? { Private declarations }
??? procedure LoadScript(Sender: TComponent; const DFMFile, PSCFile,
????? InitProc: string);
??? // params: Sender--宿主窗體? DFMFile--界面腳本文件? PSCFile--業務腳本? InitProc--調用腳本的初始化方法
? public
??? { Public declarations }
? end;

var
? FormMain: TFormMain;

implementation

{$R *.dfm}

uses uClass, Unit1, Unit2;

procedure TFormMain.LoadScript(Sender: TComponent; const DFMFile, PSCFile,
? InitProc: string);
begin
? uClass.LoadFromDFM(DFMFile, Sender);????????? // 裝載界面
? Scripter.AddComponents(Sender);?????????????? // 讓腳本認識窗體中的對象
? uClass.PianLiComps(Sender, Scripter);
? Scripter.SourceCode.Clear;
? Scripter.SourceCode.LoadFromFile(PSCFile);? // 裝載業務
? scripter.ExecuteSubroutine(InitProc);?????? // 調用腳本的初始化方法
end;

procedure TFormMain.N11Click(Sender: TObject);
begin
? LoadScript(form1, '1.dfm', '1.psc', 'init');
end;

procedure TFormMain.N21Click(Sender: TObject);
begin
? LoadScript(Form2, '2.dfm', '2.psc', 'init');
end;

end.

總結

以上是生活随笔為你收集整理的脚本宿主程序的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。