RemObjects PascalScript与DWS脚本的优缺点是什么?

时间:2011-02-03 17:59:04

标签: delphi compiler-construction pascal dwscript

我打算在我的应用程序中包含一个pascal脚本。它不需要任何Web访问,只需访问我的应用程序中的类。应该快速(编译)。我看到有许多脚本可用,有些是解释器,但编译器RemObjects pascal scriptDelphi Web Script (DWS)似乎很强大并且积极追求。

有人可以提出一个优点吗? 感谢

7 个答案:

答案 0 :(得分:14)

归结为此,imho:

  • 正在积极开发Delphi Web Script。

  • PascalScript在开发和增强方面几乎处于休眠状态。

然而,DWS是一个社区项目,主要由一个(非常有才华和能干)的人开发。 RemObjects支持PascalScript。

但是:参与开发/支持产品的组织人数/规模并不像他们实际提供的开发和支持的效率和热情那么重要。

在这两种情况下都提供了来源,所以即使“官方支持”干涸,你也不会完全迷失。

据我所知,DWS引擎是比PascalScript更容易理解的实现,它可以使“自我支持”更容易,在这种情况下你习惯的很重要(我之前曾在一个完全不同的脚本引擎上工作)我理解的更类似于DWS而不是PascalScript。

最后,我目前正在开发一个使用PascalScript的项目,并且在此阶段打算尽快切换到DWS。

答案 1 :(得分:5)

我最初选择DWS的三个主要原因是:

  1. 在DWS中,您可以/可以在脚本中声明全新的类,包括继承,元类等,并且不限于您公开/导入的那些类。
  2. 限制性更强的曝光模型(脚本只能访问您公开的内容),这样可以随时进行打沙和安全终止脚本。
  3. 更简单,更易读的源代码结构,具有直接的,无字节码的执行模型,相对更容易扩展,调试和维护。
  4. 请注意,我几乎没有使用DWS的“Web”方面。

答案 2 :(得分:5)

我几年来一直在使用Rem Objects的Pascal Script,在我看来,它是最好的。至于文档,请查看Pascal编程手册。脚本中没有奇怪的语法或函数调用。回答上面的答案0,如果您了解Delphi,则无需公开提供的文档。我没有碰到一个必要的案例。有两篇关于如何在应用程序中实现脚本的文章。如何导入类,方法和函数以及几个示例。除此之外,普通的Delphi文档就足够了。但是,对于DWS,有必要使用明确的文档,因为语法完全不同。必须使用TProgramInfo和IInfo,使脚本编写奇怪而乏味。

我使用Rem Objects Pascal Script来控制电话呼叫IVR功能,类似于Asterisk AGI端口实现。每次拨打Asterisk的地方,都会向我的服务器套接字生成一个套接字。我通常同时运行多达2000个脚本。每个脚本都被加载,编译和执行,每秒最多可以处理45个来电。每个脚本控制所有呼叫的应答,播放文件,收集DTMf,录音等。 对于冗长的响应很抱歉,但我不能说出Pascal脚本有多好用。 感谢Rem Objects和Carlo Kok。多么棒的产品。他们可能不会积极地进行更新,可能是因为它没有必要。它很棒!!! PS。另一个很棒的特性是编译为字节码的脚本不容易被反向设计。因此,您的代码是安全的。此外,如有必要,您可以预编译脚本并在运行时执行它们,而无需编译。但是,这对我来说并不是必需的,因为我可以处理很多事情。也许有一天,希望我需要预先编译。这意味着我们每秒处理的速度超过45个。

答案 3 :(得分:4)

也许考虑第三种选择。我知道OP专门询问PascalScript和DWS,但我建议将TMS Scripter StudioTMS Scripter Studio Pro视为可能的解决方案。你得到了Pascal和BASIC解释器,当最终用户对学习Pascal不感兴趣但有VB背景时,我已经能够使用它。

答案 4 :(得分:4)

你说它应该很快,而当快速事故你无法击败PaxCompiler。这不是免费的,但值得考虑。该功能集是独一无二的,并且它已经积极开发多年了。

答案 5 :(得分:2)

Pascal脚本最大的问题是语言本身没有文档。我的意思是。当然,有各种通用的Pascal站点,有点适用但不完全适用,并且还有其他不完整的ad-hoc教程由不同的人制作。但是,当涉及到真实,全面的文档时,它几乎是一个笑话。为了给InnoSetup编写一些“高级”脚本,我必须查看源代码并找出编译器的真正功能。

我认为任何考虑使用Pascal脚本的人都应该重新考虑。如果没有公开的文件,它就会变得毫无用处。 InnoSetup不应该使用它,恕我直言,当你想要做一些简单的事情,没有人为编写教程而烦恼时,这是一种痛苦。

答案 6 :(得分:0)

我使用tms脚本编写器3年了,它工作正常 良好的文档,良好的支持,生产者继续开发,快速解析器,ui组合是我为我们的bpms软件选择的原因