【发布时间】:2013-02-07 14:33:19
【问题描述】:
我的 delphi 应用程序使用 JvInterpreter(来自 Jedi 项目)运行脚本。
我使用的一个功能是表达式的运行时评估。
脚本示例:
[...]
ShowMessage(X_SomeName);
[...]
JvInterpreter 不知道 X_SomeName。 当需要 X_SomeName 的值时,脚本编写者调用其 OnGetValue 回调。 这指向我处理的一个函数。我在那里查找 X_SomeName 的值并返回它。 然后 JvInterpreter 使用我提供的值调用 ShowMessage。
现在我考虑改用 DelphiWebScript,因为它具有适当的调试接口,并且应该比 JvInterpreter 更快。
问题:不过,我没有找到任何明显的方法来实现 JvInterpreter 的 OnGetValue/OnSetValue 函数。
X_SomeName 应被视为(实际上大多数情况下)是由主机应用程序处理的变量。
有什么想法吗?
谢谢!
【问题讨论】:
-
您是否考虑过将此变量作为回调您的应用程序的函数?当然你失去了“设置”行为,但至少完成了一半的工作。
-
我有 - 不过行不通。 X_SomeName 的“SomeName”-Part 可能是任何东西,所以我不能预先声明它。这就是我需要运行时评估的原因。