问题标签 [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:如何在脚本中调用全局 TForm 对象的属性?
我已经注册了 TForm 类及其“标题”属性,然后我注册了一个全局变量:
GlobalReadProc 代码:
在脚本中,我调用 MainForm variables 属性
DWScript 显示异常:
不支持接口。
我究竟做错了什么?(我使用 IUnknown 是因为我在 VarCopySafe 过程中看到了这种类型转换,并且当 VType 不是 varUnknown 时出现异常)
delphi - DWS 可以从样品单元调用函数吗?
DWS 可以从样品单元调用函数吗?例如:
FExecution - IdwsProgramExecution;
脚本代码中声明的函数:
此示例中的 ClickProc。
dwscript - 如何在 DWScript 中注册没有参数类型的函数
我想在脚本中注册一些流方法。例如
但是参数“缓冲区”没有类型(通过 dws)。如何将这种参数注册到 Delphi Web Script 中?TdwsParametr.DataType 需要写什么???
dwscript - 如何在 DWScript 中使用循环引用注册两个类?
我需要注册 TCollection 和 TCollectionItem 类,但由于属性
经常引发无法找到 TCollectionItem/TCollectionItem 类型的异常。
delphi - 关闭应用程序时出现 EdwsActivePrograms 异常
当全局定义 IdwsProgram 和 IdwsProgramExecution 变量时,我收到以下 EdwsActivePrograms 异常:
根据以下示例重现步骤: 启动应用程序,点击 Button1,然后点击 Button2,最后关闭应用程序。当我关闭应用程序时会弹出异常。
在上面的示例中, dws是一个放置在表单上的 TDelphiWebScript 组件。我的目标是在应用程序中重用 IdwsProgramExecution 实例。在 Delphi 10.1 和最新的 DWScript 源上运行。
delphi - 使用循环引用编译 DWScript 单元会给出 ECompileError "Unknown Name"
我有两个 DWScript 单元文件:
在unit1的编译过程中,我得到
带有消息“未知名称“unit1.Proc1”的 ECompileError
在 IdwsProgram.Msgs.AsInfo 中包含以下文本:
语法错误:未知名称“unit1.Proc1”[行:14,列:9,文件:unit2]
请解释我如何编译这样的循环引用单元。
编辑:为了使讨论更接近我的要求,我将重新提出问题。为什么 DWScript 不允许我编译这两个单元?
delphi - 如何使用 dwsXPlatform.CollectFiles TCollectFileProgressEvent
由于我对 delphi 中的事件不熟悉,因此我正在努力研究如何将 dwsXPlatform.TCollectFileProgressEvent 与 dwsXPlatform.CollectFiles 结合使用。
在 DWScript 存储库中,没有示例甚至测试代码。
delphi - 在运行 DWScript 时监视当前行号?
我正在使用带有 TdwsDebugger 组件的最新 DWScript。但是,我不一定要向用户提供调试工具——只是直观地显示当前行号。
在TdwsDebugger
组件中,在它的OnDebug
事件中,expr.ScriptPos
似乎为我提供了这些信息。但我试图弄清楚如何在不实际“调试”的情况下利用它。
如何在不执行调试的情况下显示当前 DWScript 行号?
delphi - 如何在 DWScript 中访问一个类中另一个类对象的属性或方法?
我实际上是在 delphi 中使用 dwscript 并遇到以下问题:
我定义了两个类如下
我通过 ExposeRTTI 将两个类都暴露给 DWScript:
这基本上是有效的,因为当我插入以下行时
对于 DWScript,前 5 行已正确编译,但是当我尝试在 ClassTwo (第 6 行)中访问 ClassOne 的属性时,编译器会抛出“没有预期的成员”。我知道这是由于 RTTI 功能有限,但我不知道如何解决这个问题。
有人知道如何在脚本中访问 myClassTwo.ClassOne.Name 吗?与方法相同,顺便说一句。
提前致谢!
PS:添加了 3 行以显示更多尝试 - 没有成功...
delphi - How to expose a dynamic array of records in DWScript?
I've declared a simple record type in a DWScript unit:
How can I expose such an array from the Delphi application to the script ? For example, the following method in the Delphi application:
Must be accessible from a script: