0

当全局定义 IdwsProgram 和 IdwsProgramExecution 变量时,我收到以下 EdwsActivePrograms 异常:

TDelphiWebScript instance "dws" still has 1 active IdwsProgram instance(s)

根据以下示例重现步骤: 启动应用程序,点击 Button1,然后点击 Button2,最后关闭应用程序。当我关闭应用程序时会弹出异常。

var
  prog : IdwsProgram;
  exec : IdwsProgramExecution;

procedure TForm1.Button1Click(Sender: TObject);
begin
  prog := dws.Compile('begin'#13#10'end;');
  if prog.Msgs.Count = 0 then
    exec := prog.BeginNewExecution;
end;

procedure TForm1.Button2Click(Sender: TObject);
begin
  exec.EndProgram;
end;

在上面的示例中, dws是一个放置在表单上的 TDelphiWebScript 组件。我的目标是在应用程序中重用 IdwsProgramExecution 实例。在 Delphi 10.1 和最新的 DWScript 源上运行。

4

0 回答 0