我打算在我的应用程序中包含一个pascal脚本。它不需要任何Web访问,只需访问我的应用程序中的类。应该快速(编译)。我看到有许多脚本可用,有些是解释器,但编译器RemObjects pascal script和Delphi Web Script (DWS)似乎很强大并且积极追求。
有人可以提出一个优点吗? 感谢
答案 0 :(得分:14)
归结为此,imho:
正在积极开发Delphi Web Script。
PascalScript在开发和增强方面几乎处于休眠状态。
然而,DWS是一个社区项目,主要由一个(非常有才华和能干)的人开发。 RemObjects支持PascalScript。
但是:参与开发/支持产品的组织人数/规模并不像他们实际提供的开发和支持的效率和热情那么重要。
在这两种情况下都提供了来源,所以即使“官方支持”干涸,你也不会完全迷失。
据我所知,DWS引擎是比PascalScript更容易理解的实现,它可以使“自我支持”更容易,在这种情况下你习惯的很重要(我之前曾在一个完全不同的脚本引擎上工作)我理解的更类似于DWS而不是PascalScript。
最后,我目前正在开发一个使用PascalScript的项目,并且在此阶段打算尽快切换到DWS。
答案 1 :(得分:5)
我最初选择DWS的三个主要原因是:
请注意,我几乎没有使用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 Studio或TMS 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软件选择的原因