2013-10-10 42 views
14

[Code]セクションの変数をInno Setupの[Run]セクションのパラメータに渡すにはどうすればよいですか?Inno Setup:[コード]から[実行]に変数を渡す方法

基本的には、次のようにしたいと思います。

  1. プロシージャ内の変数へのユーザー入力を取得して保存します。InitializeWizard
  2. は、ここに私のコードです[Run]セクション

に実行可能ファイルへのユーザー入力を渡します。

[Run] 
Filename: "someProgram.exe"; Parameters: ??userInput?? 

[Code] 
procedure InitializeWizard; 
var 
    ConfigPage: TInputQueryWizardPage; 
    UserInput: String; 
begin 
    { Create the page } 
    ConfigPage := 
    CreateInputQueryPage(
     wpWelcome, 'User input', 'User input', 
     'Please specify the following information, then click Next.'); 

    { Add items (False means it's not a password edit) } 
    ConfigPage.Add('Input here:', False); 
    { Set initial values (optional) } 
    ConfigPage.Values[0] := ExpandConstant('hello'); 
    { Read values into variables } 
    UserInput := ConfigPage.Values[0]; 
end; 

ありがとうございます。

答えて

20

あなたはscripted constantを探しています。次の例を参照してください。

[Run] 
Filename: "SomeProgram.exe"; Parameters: {code:GetParams} 

[Code] 
var 
    ConfigPage: TInputQueryWizardPage; 

function GetParams(Value: string): string; 
begin 
    Result := ConfigPage.Values[0]; 
end; 

procedure InitializeWizard; 
begin 
    { Create the page } 
    ConfigPage := 
    CreateInputQueryPage(
     wpWelcome, 'User input', 'User input', 
     'Please specify the following information, then click Next.'); 
    { Add items (False means it's not a password edit) } 
    ConfigPage.Add('Input here:', False); 
    { Set initial values (optional) } 
    ConfigPage.Values[0] := ExpandConstant('hello'); 
end; 
+1

TLama、これは私が必要としていたものです。出来た。どうもありがとうございました。 – wcc

関連する問題