DelphiWebScript中值的运行时评估

时间:2013-02-07 14:33:20

标签: delphi jedi dwscript

我的delphi应用程序使用JvInterpreter(来自Jedi项目)运行脚本。

我使用的一个功能是表达式的运行时评估 脚本示例:

[...]
ShowMessage(X_SomeName);
[...]

JvInterpreter不知道X_SomeName。 当需要X_SomeName的值时,脚本编写器调用其OnGetValue-callback。 这指向我处理的功能。在那里,我查找X_SomeName的值并返回它。 然后JvInterpreter用我提供的值调用ShowMessage。

现在我考虑切换到DelphiWebScript,因为它有一个合适的调试接口,也应该比JvInterpreter更快。

问题:我没有找到任何明显的方法来实现JvInterpreter对其OnGetValue / OnSetValue函数的作用。

应该考虑X_SomeName(实际上是大多数时候)由主机应用程序处理的变量。

任何想法?

谢谢!

1 个答案:

答案 0 :(得分:1)

您可以通过语言扩展机制来实现,该机制具有允许在现场注册符号的FindUnknownName方法。

它用于asm lib模块演示,你也可以在ULanguageExtensionTests中检查新的“AutoExternalValues”测试用例,它应该更接近你所追求的。