DWS在调试时插入变量值

问题描述

我遇到一个问题,我找不到解决方法... 我有一个脚本,在执行之前需要一些参数数据。当我运行它时,我的代码如下:

Exec := FProgram.CreateNewExecution;
Exec.BeginProgram;

Exec.Info.ValueAsstring['varName'] := 'varValue';

Exec.RunProgram(0);
Exec.EndProgram;

运行正常。但是,如果要调试脚本,请执行以下操作:

Exec := FProgram.CreateNewExecution;
Exec.BeginProgram;
Exec.Info.ValueAsstring['varName'] := 'varValue';

Debugger.BeginDebug(Exec);
Debugger.EndDebug;

作为Debugger的TdwsDebugger类,我收到“运行时错误:脚本已在运行”。 如果我在调试之前不分配变量值,则一切正常。

有任何提示吗?

解决方法

我设法使用TDelphiWebScript组件事件解决了它。使用OnExecutionStarted也不起作用。我修改了代码并添加了OnAfterExecutionStarted事件,然后在新事件上添加了变量,现在一切正常。