Pascal Script 中的全局变量是否为零初始化?

Mar*_*ryl 3 inno-setup pascalscript

当我在 Inno Setup 脚本的部分(Pascal Script)中声明全局变量时[Code],它是否会自动初始化为零/空值?或者我是否必须显式初始化它(例如在InitializeSetup事件函数中)?

var
  GlobalNumber: Integer;

function InitializeSetup(): Boolean;
begin
  // Is this necessary?
  GlobalNumber := 0;

  Result := True;
end;
Run Code Online (Sandbox Code Playgroud)

根据我的经验,变量是零初始化的。不过,我不确定我是否只是运气不好。

我已经对测试代码进行了 10,000 次迭代。全局变量(或各种类型,整数,字符串,指针)始终为零初始化。

小智 5

变量在Pascal Script中自动初始化。

我认为我之前也在文档中的某个地方读过此内容,但我无法再次在文档中找到明确的声明。但是,如果您查看 Pascal Script 官方手册中的示例,您会发现变量并不总是在那里初始化。例如,在此页面上的第一个代码中,添加字符串时Messages没有事先对其进行初始化。