Inno SetupのwpSelectDir
にいるの次のをクリックすると、インストールディレクトリのパスを取得したいと考えています。{app}が設定される前にwpSelectDirのパスを取得するInno Setup
パスを確認する必要があるため、パスを確認する必要があります。正しくない場合は、ユーザーに続行させません。
私の問題は、それがwpSelectDir
後に設定して、私はまだだことになるので、一定の{app}
は、まだ設定されていないことである。
Inno SetupのwpSelectDir
にいるの次のをクリックすると、インストールディレクトリのパスを取得したいと考えています。{app}が設定される前にwpSelectDirのパスを取得するInno Setup
パスを確認する必要があるため、パスを確認する必要があります。正しくない場合は、ユーザーに続行させません。
私の問題は、それがwpSelectDir
後に設定して、私はまだだことになるので、一定の{app}
は、まだ設定されていないことである。
使用WizardDirValue
support function:
は、ウィザードの[インストール先の場所ページの編集コントロールの現在の内容を返します。
ExpandConstant('{app}')
とは異なり、ウィザードが表示された後、ユーザーがディレクトリを選択する前にこの関数を呼び出すと、この関数は失敗しません。むしろ、デフォルトのディレクトリ名を返します。
それはWizardForm.DirEdit.Text
より慣用的です。
内部的にはほぼ同じんが:
RemoveBackslashUnlessRoot(WizardForm.DirEdit.Text)
はHow do you find the user-selected install path in Inno Setup?
も参照してください。あなたはこのような何かを行うことができます....
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
テキストボックスに現在の値を返します。手順onDirChange
は、dirEditテキストボックス内のテキストが変更されるたびに呼び出されます。この値を使用して検証を実行できます。