问题标签 [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 - 在 dwscript 中调用 query.locate
是否可以调用具有在 dwscript 中设置的类型参数的过程?我正在使用 ExposeClassToUnit 公开 TDataSet 和 TADOQuery。
我不能调用的脚本是
我尝试使用 0 而不是 []。这确实编译但随后给了我如下消息。
所有帮助表示赞赏
dwscript - DWScript:问题更新到当前开发版本
这个周末,我从 DWScript SVN 更新了我的代码库。我使用的是 Preview 2.7,现在我使用的是最新的中继版本。
我重新编译了我的应用程序,现在 OnAfterInitUnitTable 不再被触发。实际上 TdwsUnit.InitUnitTable 根本没有被调用。顺便说一句:TDWSunit 是在运行时由代码创建的,然后使用 ExposeRTTI 公开两个类。需要公开每个类的一个实例。
什么是 - 现在 - 触发 OnAfterInitUnitTable 的先决条件?
任何帮助表示赞赏。
编辑:重现的示例代码:
EDIt2:其他版本使用 Eric Grange 在下面的答案 1 中的建议显示新问题;
dwscript - DWScript:在 DLL 中时 TdwsGuardianThread.Finalize 冻结
当 dwsExprs 添加到 DLL 时,他的终结部分会冻结。Actaully TdwsGuardianThread.Finalize 被冻结在 Guardian.WaitFor 线上。
为了演示这个问题,我制作了一个示例 DLL,它是空的,只包含 dwsCript。我还制作了一个测试应用程序,加载 DLL 并立即释放它。如上所述,在退出应用程序时冻结(在 Guardian.WaitFor 上放置一个断点以查看它。
示例 DLL:
示例应用:
我正在使用 5 月 26 日从 SVN 存储库中提取的 XE4 和 DWScript。
任何帮助表示赞赏。
dwscript - DWScript,检索全局变量的属性符号
我正在覆盖 TRTTIEnvironment 并正在实现函数 FindUnknownName()。我想返回一个已通过 ExposeInstanceToUnit() 公开给程序的符号。在我的一些脚本中,全局对象的属性在脚本中但没有对象。例如。全局对象“用户”具有属性用户名。“用户名”在脚本中,而不是“用户名”。
FindUnknownName 中的代码是
这里的问题是它返回属性的类符号,因为它不是类属性,所以它会 AV。
非常感谢任何帮助获取 User 实例的属性符号。
delphi - 从模式对话框调用脚本函数给出“对象未实例化”
从下面的脚本代码中,我从 Delphi 调用 Run 过程,该过程调用也在 Delphi 中的 showmodal 过程。当从新创建的模式对话框调用 Button1Click() 时,全局变量 sl 没有被实例化。
脚本代码。
Delphi 端代码。
1) 调用 Run()
2) Showmodal 评估
3) 使用相同的 IdwsProgramExecution 对象从模式对话框调用 Button1Click
此时我收到错误“对象未实例化”。关闭对话框后,我得到了显示消息,其中没有任何内容。
delphi - 从 Delphi 添加强类型 RttiVariant 以暴露给 DWS 脚本
我希望在编译时检查我的脚本,因此不希望将我的全局变量公开为 RTTIVariant。我使用以下代码将 Screen 对象公开给脚本。
Delphi端全局变量创建
我想做的是用'RttiVariant<Vcl.Forms.TScreen>'替换'RttiVariant'。Script 对在 Delphi 端使用强 RTTIVariant 类型不满意,但在脚本端却很高兴。无论如何要做到这一点?
delphi - "{$F 'filename'}" 到底是什么意思?
在DWScript 文档中我们可以看到“{$F 'filename'}”,但我不明白它的含义。可以形容吗?
json - 如何摆脱 Delphi/dwsJSON 中的 JSON unicode 文字?
我有一段 UTF-8 格式的 JSON,在 Google Chrome 中看起来像这样(没有新行):
首先,我删除了所有DBXJSON
工作空间。然后我解析并打印它,结果如下:
这就是我想要的,除了需要删除空格。
如果我使用相同的 JSON 字符串作为 的输入dwsJSON
,就会发生有趣的事情:
Unicode 文字没有被解释,\u0000
在一个更大的文件中到处都是,并且通常会出现某种乱码。
是什么原因造成的,我应该在哪里解决它?TdwsJSONValue.ParseString
接受 aUnicodeString
并且我的输入是 a String
,但我不确定这有什么关系(所有 Delphi String 类型都丢失了)。
delphi - DWScript 是否兼容为 Android 和 IO 创建 Delphi XE5 代码?
我可以在 Delphi XE5 程序中使用 DWScript 类在 Android 和/或 IO 下运行并使脚本工作吗?
delphi - 从 DWScript 调用类的过程
如何从在主窗体中创建的类中调用过程。可以像这个伪代码显示的那样完成吗?