问题标签 [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.
delphi - Delphi Web Script (DWScript) 将脚本方法链接到外部控制事件
我想知道 DWScript 是否支持使用脚本方法作为 Delphi 表单上的控件的事件处理程序。例如,我想将 TButton OnClick 事件链接到脚本中存在的方法。
我可以通过调用返回 TMethod 对象的 GetProcMethod 来使用 RemObjects Delphi 脚本引擎执行此操作。然后我使用 SetMethodProp 将脚本方法分配给按钮的 OnClick 事件。
我想在 DWScript 而不是 Rem 对象脚本引擎中执行此操作,因为它执行我需要的其他一些东西。
delphi - DWScript:在运行时向 dwsUnit 添加新的数组定义
使用 Delphi XE2 在运行时调用将数组定义添加到dwsUnit
组件的方法是什么?
MyDwsUnit.Arrays.Add
返回 a TCollectionItem
, not TdwsArray
,而在设计时添加数组定义会添加一个TdwsArray
实例!。
delphi - DWScript:如何在调用后获得结果
好吧,我对 DWScript 完全陌生。现在我对它的能力很着迷,但是尽管我阅读了随附的 wiki 中的所有页面以及此处的问题/答案,但在从 Delphi 调用函数后,我仍然找不到提取结果的方法,如下所示:
然后我被困住了:exec.result.toString
什么也没给我。只要我看到我Result
在 exec 对象中没有,这就是为什么从脚本堆栈中清除项目时结果被删除和丢失的原因。请告诉我完成这个简单任务的正确方法是什么?
delphi - DelphiWebScript 中值的运行时评估
我的 delphi 应用程序使用 JvInterpreter(来自 Jedi 项目)运行脚本。
我使用的一个特性是表达式的运行时评估。
脚本示例:
JvInterpreter 不知道 X_SomeName。当需要 X_SomeName 的值时,脚本编写者调用其 OnGetValue 回调。这指向我处理的一个函数。我在那里查找 X_SomeName 的值并返回它。然后 JvInterpreter 使用我提供的值调用 ShowMessage。
现在我考虑切换到 DelphiWebScript,因为它具有适当的调试接口,并且应该比 JvInterpreter 更快。
问题:不过,我没有找到任何明显的方法来实现 JvInterpreter 的 OnGetValue/OnSetValue 函数。
X_SomeName 应该被认为(实际上是,大多数时候)一个由主机应用程序处理的变量。
有任何想法吗?
谢谢!
delphi - 在 DWScript 中设置入口点
有没有办法在 DWScript 中设置入口点?
例如,如果我开始执行脚本,我希望它执行一个过程 Main,而不是常规入口点中的代码(begin ... end.)。
我知道可以从 Delphi 执行函数,但我不确定这是否完全相同。
delphi - 在 dwscript 中注册隐式/显式类型转换运算符
是否可以从 Delphi 注册隐式和/或显式类型转换运算符?
我找到了http://code.google.com/p/dwscript/issues/detail?id=124,但它似乎处理脚本内运算符重载,这是一个相当古老的问题。
delphi - 在 DWScript 中从 Delphi 向记录类型添加方法
在我创建了一个 TRecordSymbol 之后,如何向它添加构造函数和方法?我尝试使用 TMethodSymbol 收效甚微,因为我找不到定义方法执行的方法。
delphi - 从 DWScript 中的 TProgramInfo 检索记录参数
如何从 TdwsUnit 中函数的 Eval 事件中的 TProgramInfo 对象检索记录参数?似乎该对象仅提供直接检索基本数据类型或可能是脚本对象的方法。
delphi - TdwsUnit 中的记录方法
有没有办法向 TdwsUnit 中的记录添加方法?似乎 members 属性只允许您添加字段。是否也可以注册构造函数?
delphi - TdwsUnit 性能
dwsMathComplexFunctions.pas
在 TdwsUnit 中注册函数会产生与在单元中注册的常规魔术函数相同的性能吗?