问题标签 [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 调用 CreateOleObject 函数?
我正在尝试从 dwscript 内部执行此代码(这是使用 CreateOleObject 的最小示例)
到目前为止我试过这个
但我收到此错误消息
语法错误:未知名称“CreateOleObject”[行:5,列:8]
问题是我如何CreateOleObject
使用 dwscript 执行该功能?
更新
按照Linas的建议,我终于可以解决这个问题。
这是一个示例工作应用程序
delphi - 如何安装 DWSScript
我在安装 DWSScript 组件时遇到问题。我正在使用 Delphi XE2,当我尝试编译 dwsLibRuntime.dpk 时出现错误(需要数组类型)。我正在使用从项目的 svn 存储库中提取的最新 DWScript 源。
我究竟做错了什么?
delphi - delphi DWScript - 在脚本运行时更改 TObject 类型的脚本变量值
我有一个像这样的 DWScript
TOutputter(只是复杂类的一个示例)在 delphi 代码中声明和创建,并通过 Rtti 暴露给 DWScript。
我想将编译后的脚本用于多个实例,但更改它链接到当前实例的值 Outputter。我知道我可以通过以下方式访问脚本变量:
但该值是一个变体,所以我不能分配一个对象。如何更改值?如果我首先在脚本中创建类,例如:
我可以为 Exec.Info.Vars['Outputter'].ScriptObj.ExtObject 分配一个任意的 TOutputter 实例(在 delphi 代码中创建)并通过 Outputter 在脚本代码中访问它们。但是我想分配一个delphi代码创建的没有init部分的TOutputter实例。
谢谢你的帮助!
delphi - Dwscript 网络服务器
我想使用 dwscript 进行网络编程(生成动态内容)。我想知道是否有任何用于 apache Web 服务器的模块?或者我怎样才能运行我自己的基于 dwscript 的 web 服务器?
delphi - 编译包含 TForm.Create(nil) 的 dwscript 时堆栈溢出
我正在尝试使用 dwscript 创建一个模态表单。我用 ExposeRtti 注册表单,然后执行脚本,但它在 Script.Compile 期间因“堆栈溢出”而失败。有没有人有这个错误的解决方案。
我当然希望我不必像使用 remobjects PascalScript 那样手动注册所有 TForm 属性和函数,这会让我们在这个时代变得丑陋,想避免这种情况..
dwscript 可以做到这一点,还是表单只是超出了 dwscript 的范围(现阶段?)?
delphi - 调用一个 dwscript 过程,其中一个类作为来自 delphi 的参数
如何从 delphi 调用以类为参数的 DWScript 过程?
前任:
DWScript 方面:
德尔福方面:
delphi - DWScript 线程安全吗?
我想知道 DWScript 是否能够在脚本中使用线程,因为某些引擎不会同步对其内部数据结构的访问。
delphi - 有没有办法在执行 DWScript 两次时保留变量值?
我正在开发的应用程序允许将脚本 sinppets 嵌入到文档中。例如:
结果
我正在使用 DWScript。在内部,第一个脚本片段被编译和执行。比下一个是 RecompiledInContext 并执行等等。在片段中声明的函数/变量/等在所有以后的片段中都可用。然而,片段之间的变量值会丢失。例如:
生成文档后:
这是一个说明问题的示例应用程序:
有没有办法在执行之间“转移”或“保留”变量值?
这是安德鲁答案的更新代码,它不起作用:
delphi - 序列化 TdwsProgram
据我了解,DWScript
不会将脚本编译成中间字节码。
但是,我希望能够存储“已编译”脚本,以便能够通过流发送它或将其保存到文件中。
我想知道:有没有办法序列化一个TdwsProgram
对象?
我没有设法在任何地方找到任何答案。我查看了代码,似乎不可能,但我想我还是应该问这个问题......
delphi - DWScript 安装
我正在尝试在 XE2 中安装 DWScript,但我似乎很挣扎。我找不到任何最新的安装说明,而且我找到的旧说明似乎不再适用。
我已经尝试过 svn 存储库中的 head 以及以前的版本之一,但都没有太多运气。
我已将源目录添加到我的库路径中。
当我最初打开 dwsLib 时,我有一条 TdwsUnit not found 消息,尽管它似乎可以编译。dwsLibDesignOnly 和 dwsLibRuntime.dpk 都有一个关于 dwsCodeGen 丢失的错误,并且看起来图书馆中有一个完整的 JSCodeGen 目录不存在但应该存在。
任何帮助将非常感激。
谢谢,
理查德