为什么这不起作用?
if WizardForm <> nil then
WizardForm.StatusLabel.Caption := 'blah'
else
Log('WizardForm not initialized yet!');
我得到了这个例外:
Runtime Error (at 15:118):
Internal error: An attempt was made to access WizardForm before it has been created.
我知道WizardForm尚未初始化,这就是为什么我检查nil,检查无效! 我在这里做错了什么?
答案 0 :(得分:1)
WizardForm
变量的每次访问都会发生这种情况,包括检查(如果已分配)。只需将代码从InitializeSetup
事件移至InitializeWizard
。
答案 1 :(得分:1)
还有其他方法可以检查null吗?
这个怎么样:
function IsWizardFormCreated(): Boolean;
begin
Result := True;
try
WizardForm;
except
Result := False;
end;
end;