使用PaxScript为Delphi应用增加对脚本的支持

转自 https://aztack.wang/post/using-paxscript-in-delphi.html

通过使用PaxScript可以为Delphi应用增加对脚本的支持。

PaxScript支持paxC,paxBasic,paxPascle,paxJavaScript(对ECMA-262做了扩展) 四种脚本语言。它们分别是对应语言的子集。

在为程序增加脚本支持时要解决的主要问题是:本地代码与脚本之间的互相调用。

PaxScript为四种脚本语言都增加的名字空间和模块的概念。某段代码必须属于某个名字空间。执行代码时要指定代码所属的模块。默认的名字空间是全局名字空间。

执行代码的步骤是:

  1. 注册语言
  2. 注册本地变量、常量、函数、类型等
  3. 增加名字空间、模块
  4. 向模块增加代码,可以使硬编码、运行时输入的文本、从文件读入的字符流
  5. 运行指定模块的代码

图一

补充:16:31 2009-2-2

Delphi代码中调用脚本中的函数用PaxScripter.CallFunction

其他资料:

可以通过将SpiderMonkey嵌入你的C/C++代码,使你的应用Scriptable https://developer.mozilla.org/cn/JavaScript

23:26 2009-2-26 补充:

多谢 Firefly 兄弟的指点。

只要在工程中uses IMP_comctrls.pas就可以访问数组型的property了。 今天研究了一下,奥妙在于IMP_comctrls注册了常用的控件类型和属性、方法。 我们完全你可以手工注册。下面是一个小结。

图二

本文链接:http://aztack.wang/post/using-paxscript-in-delphi.html

原文地址:https://www.cnblogs.com/xiefang2008/p/6141954.html