Главная страница
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.017 c
2-1202979105
Ega23
2008-02-14 11:51
2008.03.09
Запуск внешней программы в невидимом режиме


15-1201946435
иванз
2008-02-02 13:00
2008.03.09
"многострочный" TLabel


2-1202823087
Fanbio
2008-02-12 16:31
2008.03.09
записать 6 байтное число


2-1202719916
Kolan
2008-02-11 11:51
2008.03.09
Как узнать какие именно пакеты нужны приложению?


2-1202796912
жорик
2008-02-12 09:15
2008.03.09
открыт ли файл