Главная страница
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.028 c
2-1202919216
golikov
2008-02-13 19:13
2008.03.09
Frame


15-1202053496
Snek
2008-02-03 18:44
2008.03.09
Гибкая автаризация в программе.


3-1192537323
Antoxa2005
2007-10-16 16:22
2008.03.09
Как сделать Refresh для одной записи?


2-1202925450
daskel
2008-02-13 20:57
2008.03.09
запрет перехода на другие окна


11-1184105149
Dimaxx
2007-07-11 02:05
2008.03.09
Установка пакета KOL 2.73 начисто - что случилось?