gpt4 book ai didi

c# - INNO 设置序列号验证失败?

转载 作者:太空宇宙 更新时间:2023-11-03 13:36:49 25 4
gpt4 key购买 nike

我试图在 web 服务的帮助下验证用户在服务器端输入的序列号,当用户输入序列号并单击下一步按钮时,应该验证序列号。我使用了代码下面是……我验证序列号的方法的名称是 ValidateKey()……我为该方法传递了一个静态值 123456,服务将为此值返回 false,,,,但是我的安装正在进一步进行,我在安装的最后一步收到警报消息框

function ValidateSerialNumber: Boolean;
var
WinHttpReq: Variant;
begin
WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpReq.Open('POST', 'http://localhost:1024/WebService1/Service.asmx?op=ValidateMe', False);
WinHttpReq.Send('123456');

if WinHttpReq.Status <> 200 then
begin
Result := False;
end
else
begin
Result := True;
end;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
begin
Result := True;

if CurPageID = SerialPage.ID then
begin
Result := ValidateSerialNumber;
end;
end;

在这里,如果服务返回 false,我想在用户单击下一步按钮时停止安装,如果服务返回 true,那么他可以继续安装,我哪里出错了?

最佳答案

您需要验证 NextButtonClick 中的序列号事件方法。要在验证失败时留在您的自定义页面上,请将 False 值分配给 Result 变量。如果您想让向导继续,请将 True 分配给该事件方法的 Result。像这样:

function ValidateSerialNumber(const SerialNumber: string): Boolean;
var
WinHttpReq: Variant;
begin
Result := False;

WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpReq.Open('POST', 'http://localhost:1024/WebService1/Service.asmx?op=ValidateMe', False);
WinHttpReq.Send(SerialNumber);

Result := WinHttpReq.Status = 200;
end;

function NextButtonClick(CurPageID: Integer): Boolean;
var
SerialNumber: string;
begin
Result := True;

if CurPageID = SerialPage.ID then
begin
SerialNumber := GetSerialNumber('-');
Result := ValidateSerialNumber(SerialNumber);
end;
end;

关于c# - INNO 设置序列号验证失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18432325/

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