当我在Inno Setup脚本的[Code]
部分(Pascal脚本)中声明一个全局变量时,是否会自动初始化为零/空值?或者我是否必须明确初始化它(例如在InitializeSetup
event function中)?
var
GlobalNumber: Integer;
function InitializeSetup(): Boolean;
begin
{ Is this necessary? }
GlobalNumber := 0;
Result := True;
end;
根据我的经验,变量是零初始化的。虽然,我不确定我是不是很幸运。
我已经完成了10.000次测试代码的迭代。全局变量(或各种类型,整数,字符串,指针)始终为零初始化。
答案 0 :(得分:2)
变量在 Pascal脚本 afaik中自动初始化。
我认为我之前在文档中的某个地方也读过这个,但我再也找不到文档中的明确声明了。但是,如果您查看Pascal脚本官方手册中的示例,那么变量也不会始终在那里初始化。例如,在this page上的第一个代码中,字符串会添加到Messages
而不会在之前初始化。