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

时间:2015-12-01 08:36:35

标签: inno-setup pascalscript

当我在Inno Setup脚本的[Code]部分(Pascal脚本)中声明一个全局变量时,是否会自动初始化为零/空值?或者我是否必须明确初始化它(例如在InitializeSetup event function中)?

var
  GlobalNumber: Integer;

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

  Result := True;
end;

根据我的经验,变量是零初始化的。虽然,我不确定我是不是很幸运。

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

1 个答案:

答案 0 :(得分:2)

变量在 Pascal脚本 afaik中自动初始化。

我认为我之前在文档中的某个地方也读过这个,但我再也找不到文档中的明确声明了。但是,如果您查看Pascal脚本官方手册中的示例,那么变量也不会始终在那里初始化。例如,在this page上的第一个代码中,字符串会添加到Messages而不会在之前初始化。