当我在Inno Setup的wpSelectDir
中点击 Next 时,我想获取安装目录的路径。
我需要检查路径,因为我需要验证路径,如果它不正确,我不会让用户继续。
我的问题是常量{app}
尚未设置,因为它将在wpSelectDir
后设置,而我仍在。
答案 0 :(得分:2)
你可以这样做......
procedure onDirChange(Sender: TObject);
var
currentDir: String;
begin
currentDir := WizardForm.DirEdit.Text;
// your validation goes here....
end;
procedure InitializeWizard;
begin
WizardForm.DirEdit.onChange := @onDirChange;
end;
WizardForm.DirEdit.Text
返回DirEdit
文本框中的当前值。每当dirEdit文本框中的文本发生更改时,都会调用过程onDirChange
。您可以使用此值来执行验证。
答案 1 :(得分:2)
使用WizardDirValue
support function:
返回向导的选择目标位置页面上编辑控件的当前内容。
与
ExpandConstant('{app}')
不同,如果在显示向导之后但在用户选择目录之前调用此函数,则此函数不会失败。相反,它将返回默认目录名。
它比WizardForm.DirEdit.Text
更加惯用。
虽然内部几乎相同:
RemoveBackslashUnlessRoot(WizardForm.DirEdit.Text)
另见How do you find the user-selected install path in Inno Setup?