如何在Inno Setup中添加两个自定义页面? [英] How to add two custom pages in Inno Setup?

查看:452
本文介绍了如何在Inno Setup中添加两个自定义页面?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想在我的setup.exe中为两个服务器创建两个授权,但是我只能得到一个.我使用以下代码:

 [Code]
...
procedure InitializeWizard;
begin
    ServerDetailsPage1:= CreateInputQueryPage(wpWelcome, 
      '', '', 'Please enter following data and click Next.');

    ServerDetailsPage1.Add('IP Address (1)', False);                  {0}
    ServerDetailsPage1.Add('Port Number (1)', False);                 {1}
    ServerDetailsPage1.Add('Domain Name\User Name (1)', False);       {2}
    ServerDetailsPage1.Add('Password (1)', True);                     {3}
    ServerDetailsPage1.Values[1] := '';
    ServerDetailsPage1.Values[1] := '\';                     

    ServerDetailsPage2 := CreateInputQueryPage(wpWelcome, 
      '', '', 'Please enter following data for SQL Server and click Next.');

    ServerDetailsPage2.Add('IP Address (2)', False);             {0}
    ServerDetailsPage2.Add('Port Number (2)', False);            {1}
    ServerDetailsPage2.Add('Domain Name\User Name (2)', False);  {2}
    ServerDetailsPage2.Add('Password (2)', True);                {3}
    ServerDetailsPage2.Values[1] := ''; 
    ServerDetailsPage2.Values[2] := '\';
end;
 

哪里有错误?谢谢你的想法.

解决方案

添加CustomInputInqueryPage的方法签名:

function CreateInputQueryPage(const AfterID: Integer; const ACaption, ADescription, ASubCaption: String): TInputQueryWizardPage;

在您的情况下,两个页面( ServerDetailsPage1 ServerDetailsPage2 )都以 wpWelcome 作为 AfterID .

如果要使 ServerDetailsPage2 出现在 ServerDetailsPage1 之后,请将代码更改为:

ServerDetailsPage2 := CreateInputQueryPage(ServerDetailsPage1.ID, 
  '', '', 'Please enter following data for SQL Server and click Next.');

I want to create two authorization for two server in my setup.exe, but I get only one. I use this code:

[Code]
...
procedure InitializeWizard;
begin
    ServerDetailsPage1:= CreateInputQueryPage(wpWelcome, 
      '', '', 'Please enter following data and click Next.');

    ServerDetailsPage1.Add('IP Address (1)', False);                  {0}
    ServerDetailsPage1.Add('Port Number (1)', False);                 {1}
    ServerDetailsPage1.Add('Domain Name\User Name (1)', False);       {2}
    ServerDetailsPage1.Add('Password (1)', True);                     {3}
    ServerDetailsPage1.Values[1] := '';
    ServerDetailsPage1.Values[1] := '\';                     

    ServerDetailsPage2 := CreateInputQueryPage(wpWelcome, 
      '', '', 'Please enter following data for SQL Server and click Next.');

    ServerDetailsPage2.Add('IP Address (2)', False);             {0}
    ServerDetailsPage2.Add('Port Number (2)', False);            {1}
    ServerDetailsPage2.Add('Domain Name\User Name (2)', False);  {2}
    ServerDetailsPage2.Add('Password (2)', True);                {3}
    ServerDetailsPage2.Values[1] := ''; 
    ServerDetailsPage2.Values[2] := '\';
end;

Where is error? Thanks for any idea.

解决方案

Method signature to add CustomInputInqueryPage :

function CreateInputQueryPage(const AfterID: Integer; const ACaption, ADescription, ASubCaption: String): TInputQueryWizardPage;

In your case you have passed wpWelcome as AfterID for both pages, ServerDetailsPage1 and ServerDetailsPage2.

If you want to make ServerDetailsPage2 , appear after ServerDetailsPage1, change code as :

ServerDetailsPage2 := CreateInputQueryPage(ServerDetailsPage1.ID, 
  '', '', 'Please enter following data for SQL Server and click Next.');

这篇关于如何在Inno Setup中添加两个自定义页面?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆