当在组件选择页面中仅选择特定组件时,我需要跳过页面。请看下面的图片
[Components]
Name: DBS\TRACE; Types: DBS TBLWOS; Description: DBS Tracing Bodylife Database;
当选择单独选择“DBS Tracing Bodylife Database”(在图像中突出显示)并单击Next按钮时,要求跳过页面。如果我只选择该选项,我可以使用以下代码成功跳过该页面。
if PageID = PageToBeSkipped.ID then begin
Result := not (IsComponentSelected('not DBS\TRACE'));
end;
但是,如果我从此页面中选择任何其他附加组件以及“DBS Tracing Bodylife数据库”,该页面将近20,则不应跳过该页面。如果选择了任何其他组件,上面的代码会跳过页面。
我该如何处理?
提前致谢!
答案 0 :(得分:2)
要测试是否选择了除一个特定组件之外的任何组件,您可以使用WizardSelectedComponents
function(返回以逗号分隔的所选组件列表)。
function ShouldSkipPage(PageID: Integer): Boolean;
begin
Result := False;
if PageID = PageToBeSkipped.ID then
begin
Result := (CompareText(WizardSelectedComponents(False), 'DBS,DBS\TRACE') = 0);
end;
end;
请注意,WizardSelectedComponents
甚至会返回“部分”选定的组件组。