注意:wpUserInfo 和 wpFinished 是二个不同的预定义 向导页 PageID 常数,前一个是显示用户信息页时的返回值,另一个是安装完成页时的返回值,PageID 常量还有: wpWelcome, wpLicense, wpPassword, wpInfoBefore, wpUserInfo, wpSelectDir, wpSelectComponents, wpSelectProgramGroup, wpSelectTasks, wpReady, wpPreparing, wpInstalling, wpInfoAfter, wpFinished。
上面你写的二个常量都在二个同名的 CurPageChanged 函数中,函数名重复当然会产生错误。只需合并一下即可,因为二个常量所对应的页面不同,不会有冲突。
[Code]
Procedure CurPageChanged(CurPageID: Integer);
var
IDLabel, RegAdr, RegURL: TLabel;
IDEdit: TEdit;
RefDisk, DiskLabel: String;
begin
if CurPageID = wpUserInfo then
begin
if DirExists('C:\') then
RefDisk:= 'C:\'
else
RefDisk:= 'D:\';
DiskLabel:= ' ';
GetVolumeInformation(RefDisk, DiskLabel, 15, HDSerial, 0, 0, '', 0);
end else
begin
if CurPageID = wpFinished then
// 指定第一项不可选
WizardForm.runList.ItemEnabled[0] := false;
end;
end;
或者
[Code]
Procedure CurPageChanged(CurPageID: Integer);
var
IDLabel, RegAdr, RegURL: TLabel;
IDEdit: TEdit;
RefDisk, DiskLabel: String;
begin
case CurPageID of
wpUserInfo:
begin
if DirExists('C:\') then
RefDisk:= 'C:\'
else
RefDisk:= 'D:\';
DiskLabel:= ' ';
GetVolumeInformation(RefDisk, DiskLabel, 15, HDSerial, 0, 0, '', 0);
end;
wpFinished:
// 指定第一项不可选
WizardForm.runList.ItemEnabled[0] := false;
end;
end;