gpt4 book ai didi

inno-setup - CurPageChanged 过程中的 ShouldSkipPage 函数

转载 作者:行者123 更新时间:2023-12-02 01:46:32 35 4
gpt4 key购买 nike

我希望我的设置从 CurPageChanged 过程中移动到下一页,

Details- 我将 wpInstalling 替换为 ProgressPage 以使安装过程更加整洁,ProgressPage 完成后,我想转到下一页,所以我进入了 ShouldSkipPage 函数,

但是当我编译设置时,我不断在 function ShouldSkipPage(curPageId : Integer) 行上收到“Identifier excepted”错误消息。

procedure CurPageChanged(CurPageID: Integer);
var
I: Integer;
begin
case CurPageID of
MOPage.ID:
begin
// this code executes for the first page, so let's setup the buttons however you want
WizardForm.BackButton.Visible := False;
WizardForm.NextButton.Caption := '&Agree and Install';
WizardForm.CancelButton.Caption := '&Abort';
end;
SOPage.ID:
begin
// this code executes for the second page, so let's setup the buttons however you want
SkipSOSwitch := 1;
WizardForm.BackButton.Visible := False;
WizardForm.NextButton.Caption := '&Agree and Install';
WizardForm.CancelButton.Caption := '&Decline';
WizardForm.CancelButton.OnClick := @SkipSOEvent;
end;
FSPage.ID:
begin
WizardForm.NextButton.Caption := SetupMessage(msgButtonFinish);
WizardForm.NextButton.OnClick := @FinishButtonOnClick;
end;
IDPForm.Page.ID:
begin
// show the detail components
idpShowDetails(True);
// and hide the details button
IDPForm.DetailsButton.Visible := False;
end;
wpInstalling:
begin
ProgressPage.SetText('Starting installation...', 'Installing Wise Convert');
ProgressPage.SetProgress(0, 0);
WizardForm.ProgressGauge.Width := 600;
ProgressPage.Show;
try
for I := 0 to 20 do begin
ProgressPage.SetProgress(I, 20);
Sleep(150);
end;
finally
Sleep(3000);
ProgressPage.Hide;
function ShouldSkipPage(curPageId : Integer) : Boolean;
begin
Result := True
end;
end;
// end else
// WizardForm.NextButton.OnClick(WizardForm.NextButton);
end;
//StartTick := GetTickCount;
end;
end;

最佳答案

发生该错误是因为您试图声明您的 ShouldSkipPage来自另一个方法内部的事件方法。您的问题实际上可以简化为这段代码:

[Code]
procedure CurPageChanged(CurPageID: Integer);
begin
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := True;
end;
end;

这样的构造是不允许的。您不能在另一个方法中声明事件方法。它们不能以任何方式嵌套(尽管您的声明实际上并未嵌套)。唯一允许的声明方式是这样的:

[Code]
procedure CurPageChanged(CurPageID: Integer);
begin

end;

function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := True;
end;

所以你必须移动你的ShouldSkipPage CurPageChanged 之外的事件方法声明事件方法。如果您希望事件以某种方式协作,则必须使用一些全局声明的变量。

关于inno-setup - CurPageChanged 过程中的 ShouldSkipPage 函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25347577/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com