Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];
Внизотмена логина в веб-сервис Найти похожие ветки
← →
Akex (2008-02-13 10:30) [0]Пишу автоматический тестировщик веб-сервиса.
Если веб-сервис не пускает из-за проблем с безопасностью, выскакивает окно для ввода имени пользователя и пароля.
Вот код из SOAPHTTPTrans.pas Delphi 7:while True do
begin
Check(not HttpSendRequest(Request, nil, 0, @StrStr.DataString[1], Length(StrStr.DataString)));
RetVal := InternetErrorDlg(GetDesktopWindow(), Request, GetLastError,
FLAGS_ERROR_UI_FILTER_FOR_ERRORS or FLAGS_ERROR_UI_FLAGS_CHANGE_OPTIONS or
FLAGS_ERROR_UI_FLAGS_GENERATE_DATA, P);
case RetVal of
ERROR_SUCCESS: break;
ERROR_CANCELLED: SysUtils.Abort;
ERROR_INTERNET_FORCE_RETRY: {Retry the operation};
end;
end;
Неужели нет никакого способа добиться, чтобы при ошибке логина/пароля автоматически в RetVal присваивалось ERROR_CANCELLED?
Почему вообще разработчики Delphi не подумали о ERROR_ERROR?
← →
ANB (2008-02-13 10:45) [1]И чего тебе не нравится ?
Если мешает диалог, перепиши этот кусочек.
ЗЫ. Когда пишешь систему автотестирования, регулярно приходится бороться с разными граблями, и это еще не самая страшная.
← →
Sandman25 (2008-02-13 10:55) [2]ANB (13.02.08 10:45) [1]
То есть кроме изменения исходников Delphi, другого способа нет?
Спасибо, я так и думал :(
Правда, этот код находится в вирутальной функции, так что можно попытаться написать своего наследника THTTPReqResp.
← →
Sandman25 (2008-02-13 11:54) [3]Написал наследника.
Долго плевался в адрес разработчиков.
Если уж используете поля для передачи параметров между функциями, сделайте их protected. Из-за private пришлось дублировать кучу кода.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2008.03.09;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.155 c