Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2008.03.09;
Скачать: CL | DM;

Вниз

отмена логина в веб-сервис   Найти похожие ветки 

 
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;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.014 c
15-1201581217
vajo
2008-01-29 07:33
2008.03.09
Календарь-органайзер


2-1202891080
alexnmsk
2008-02-13 11:24
2008.03.09
Поток в dll


2-1202718597
Петр
2008-02-11 11:29
2008.03.09
timer+forma


2-1202915231
Malik
2008-02-13 18:07
2008.03.09
Печать через ShellExecute


11-1184956052
=BuckLr=
2007-07-20 22:27
2008.03.09
Иконка апплета - проблема