问题标签 [dwscript]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
754 浏览

delphi - dwscript - 任何人都可以帮助编辑调试器示例吗?

我正在查看 Delphi 的出色 dwscript,请参见此处,它提供了一组有用的类来为您的应用程序实现内置的 pascal 脚本。对于如何将提供的调试接口与编辑器链接在一起的示例,我将非常感谢一些帮助,以便我可以创建断点(理想情况下可以查看手表)。请问有人走过这条路吗?谢谢,布赖恩

0 投票
8 回答
3833 浏览

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

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

任何人都可以提出一个优于另一个的优势吗?谢谢

0 投票
1 回答
892 浏览

delphi - Delphi Web 脚本:如何通过 RTTI 公开一个包含返回另一个(公开)类的方法的类

我有这个 Delphi 课程

现在我想通过“dwsRTTIExposer.pas”公开这个类:

我的脚本看起来像这样:

不幸的是,Delphi Web Script 无法将 TMyClass.Foo 的返回值识别为有效的 Script Class。是否有可能在不回退到使用 OnEval-Eventhandler 手动公开每个方法的情况下做到这一点?

0 投票
1 回答
539 浏览

delphi - DWScript 使用子句

我已经用 DWScript 尝试“使用”其他单位示例:

使用utils、qusers;
语法错误:未知单位“utils”[行:3,列:20]

任何帮助将不胜感激。

附加信息:我还将文件的位置添加到 Script.Config.ScriptPaths,例如:“C:\myscripts”

附加信息2:“使用”用法的目的是“$INCLUDE”或“$I”在以下情况下出现问题:
unit1.dws 包括 unit2.dws
unit3.dws 包括 unit3.dws 和 unit1.dws

0 投票
1 回答
1195 浏览

delphi - Delphi Web 脚本:如何在执行上下文中从 Delphi 代码调用脚本函数?

想象这个脚本代码:

我已经向脚本公开了“CallToDelphi”过程。所以当它被调用时,我从我的 Delphi 代码中的脚本回来了。我现在想从我的 Delphi 代码中调用脚本过程“B”。我认为必须隐藏在 IdwsProgramExecution-Context 中。但我还没有找到任何东西。我正在寻找类似的东西:

这有可能吗?

0 投票
1 回答
426 浏览

delphi - Delphi Web Script:在脚本执行后访问变量

想象一下这个脚本:

当脚本运行时,它会创建变量“s”。现在我想在脚本完成后调用“MyProc”:

从 MyProc 访问“s”时出现错误。我假设 DWS 的垃圾收集器已经释放了字符串列表。这是正确的吗?我可以做些什么来让“s”活着吗?

0 投票
1 回答
419 浏览

delphi - dwscript - 如何枚举所有可用类型?

嘿,Delphi Web Script 真的是很棒的脚本引擎。我正在尝试在我的一个项目中使用它。但是,我不确定是否可以枚举脚本引擎中可用的所有类型和函数,例如,我想要一个列表,其中包含我在编写脚本时可以使用的所有方法(这包括所有内部和外部类型、函数、过程等)。快速脚本具有树视图组件,它公开了您可以使用的所有类型。我正在 dwscript 中寻找类似的东西。提前致谢。

0 投票
1 回答
206 浏览

operator-overloading - dwscript 是否支持运算符重载

我知道 dwscript 具有复合运算符+=等的运算符重载。

我希望运算符重载+-等等,以及矩阵对象的乘法等。
dwscript 支持这个吗?

如果是这样,这个语法会重载运算符吗?

0 投票
2 回答
1166 浏览

delphi - 帮助将最新的 Delphi Web 脚本 (DWS) 与 SynEdit 集成

我决定齐心协力,使用 SynEdit 将出色的DWScript (Delph Web Script DWS)集成到一个简单的 IDE 中。DWScript 目前正在积极开发中,与其他 Pascal 脚本库相比具有许多优势,但是它不包含编辑器或任何 IDE 示例,除了简单的备忘录控件来证明执行能力。它确实包含许多用于编辑器/调试器集成的钩子,事实上,当 DWS 不久前被重新唤醒时,版本确实包含一个 SynEdit / DWS2(当时是这样)集成的示例。可以在文件dws2src20-20030907.zip中找到一个示例在 \dws2rel\dwstools\idedialog\source 中,有一个带有编辑器窗口、调用堆栈、断点窗口等的“迷你 IDE”。真的很好。几个月前,我确实使用旧的 SynEdit 和包含在此文件中的 DWS2 进行了这项工作。

所以,我现在尝试使用最新的 SynEdit(从 SVN 下载)和最新的 DWScript(也从 SVN)来实现这个(或类似的)ide。这两个库都很好地安装到 XE 中,并且它们的演示运行良好。然后,我尝试从旧的“\dws2rel\dwstools\idedialog\source”中获取 ide 示例并更新代码,但发生了很多变化。令人沮丧的是,并没有太大的变化以至于我很快放弃了——我尝试在旧源中搜索各种“旧”类型定义,并将它们与“新”定义相匹配。最后,在陷入代码泥潭的几个小时后,我决定肯定有人,某处肯定已经走这条路了?

请问有没有人使用最近的 DWScript 代码获得 DWScript - SynEdit 集成的示例?我很高兴我可以学习/建立一些简单的东西。谢谢

0 投票
1 回答
345 浏览

delphi - Delphi Web Script:如何在 Delphi 中找到 Script-TClass 的类名

想象一下这个可以在脚本中调用的过程:

脚本如下所示:

当调用 Foo 时,我的 Delphi 应用程序看到 ClassType 的 Int64-Value。

您可以在 DWS 源代码中看到 aTClass被显式转换为 an Int64(参见 dwsCompiler.pas,procedure TObjectClassTypeMethod.Execute -> Info.ResultAsInteger := Int64(info.ValueAsClassSymbol[SYS_SELF]);)。

现在我可以在哪个结构中搜索该数字以找到相应的 TdwsClass?

注意:实际上 TMyClass 并没有在脚本中实现,而是通过 Delphi App 公开创建的......我不知道这是否会有所不同。