【问题标题】:Get the path in the wpSelectDir before {app} is set Inno Setup在设置 {app} 之前获取 wpSelectDir 中的路径 Inno Setup
【发布时间】:2017-05-17 02:29:28
【问题描述】:

当我在 Inno Setup 的wpSelectDir 中时,当用户点击Next 时,我想获取安装目录的路径。

我需要检查路径,因为我需要验证路径,如果不正确,我不会让用户继续。

我的问题是常量{app}还没有设置,因为它会在wpSelectDir之后设置,我还在里面。

【问题讨论】:

    标签: window installation inno-setup pascalscript


    【解决方案1】:

    使用WizardDirValue support function:

    返回向导的选择目标位置页面上编辑控件的当前内容。

    ExpandConstant('{app}') 不同,如果在显示向导之后但在用户选择目录之前调用此函数不会失败。相反,它将返回默认目录名称。


    它比WizardForm.DirEdit.Text 更惯用。

    虽然在内部它的作用几乎相同:

    RemoveBackslashUnlessRoot(WizardForm.DirEdit.Text)
    

    另见How do you find the user-selected install path in Inno Setup?

    【讨论】:

      【解决方案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。您可以使用此值来执行验证。

      【讨论】:

        猜你喜欢
        • 2023-04-07
        • 2011-05-01
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 1970-01-01
        • 2023-03-18
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多