InnoSetup: необходимо добавить проверяющий URL, добавив кнопку тестирования на CreateInputQueryPage - PullRequest
2 голосов
/ 25 мая 2011

У меня на CreateInputQueryPage, в этом поле пользователь будет вводить URL-адрес ... Теперь я хочу, чтобы рядом с этим текстовым полем была кнопка «Тест», чтобы я мог пинговать и проверять этот URL-адрес ... это возможно?

1 Ответ

0 голосов
/ 25 мая 2011

Используя Стандартные функции поддержки , вы не можете сделать это.

Вы можете вызвать внешнюю dll , что позволит вам сделать это. Вы также можете вызвать COM-интерфейсы , что также позволит вам сделать это.

В частности, вы можете использовать WinHTTPRequest COM-объект для выполнения этой проверки.

У вас есть несколько вариантов для проверки. Оба продемонстрированы в следующем сценарии. Первый - создать кнопку только для проверки, второй - перехватить кнопку «Далее» и автоматически вызвать ее, прежде чем перейти на следующую страницу.

[Setup]
AppName='Test Script'
AppVerName='Test Script'
DefaultDirName={pf}\test
[Code]

const
 InputQueryPageID = 100;  //Determined by watching in Debugger.

var
  Page : TInputQueryWizardPage;


procedure ClickEvent(Sender : TObject);
begin
   MsgBox('Could Validate Here',mbInformation,MB_OK);
end;

procedure InitializeWizard();
var
  Button : TButton; 
begin
  Page := CreateInputQueryPage(wpWelcome,
     'Add URL', 'Test2','Test3');
  Page.Add('URL:', False);
  Button := TButton.Create(Page);
  Button.Parent := Page.Surface;
  Button.Caption := 'Button Text';
  Button.Top := 100;
  Button.Left := 10;
  Button.OnClick := @ClickEvent;
end;

function NextButtonClick(CurrPageID: Integer) : Boolean;
begin
 case CurrPageID of
   InputQueryPageID   : begin
                 MsgBox('Could Validate Here',mbInformation,MB_OK);
                 result := true; // Results of EXE Validation
               end;
   else result := true;
 end;
end;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...