Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 08.01.2016, 13:57   #1
_ZixeL_
Форумчанин
 
Регистрация: 04.11.2012
Сообщений: 151
По умолчанию Webbrowser, проблемы

Приветствую. Помогите решить проблему, пожалуйста.
Есть webbrowser, через который провожу авторизацию на qip.ru


Код:
procedure TMForm.WBDocumentComplete(ASender: TObject; const pDisp: IDispatch;
  const URL: OleVariant);
begin
if pDisp = (ASender as TWebBrowser).Application then
 begin
  case ql of
  -1:begin end;
   0:begin DateQip; end;
   1:begin CheckValidQip; end;
   2:begin GoHL; end;
  end;

 end;
end;

Код:
procedure TMForm.Button1Click(Sender: TObject);
begin
WB.Navigate('http://m.qip.ru/m/login?retpath=http://m.mail.qip.ru');
ql := 0;
end;

Код:
procedure TMForm.DateQip;
var html: Variant;
    i: Integer;
begin
html := WB.OleObject.Document.forms.item(0).elements;
for i := 0 to (html.Length - 1) do
  begin
   if (html.item(i).name = 'login') then html.item(i).value := email;
   if (html.item(i).name = 'password') then html.item(i).value := pass;
   if (html.item(i).value = 'Войти') then html.item(i).click;
  end;
 ql := 1;
end;

Код:
procedure TMForm.CheckValidQip;
var html: Variant;
    i: Integer;
begin
 page := GetHtmlSource(WB);
 if Pos('Входящие', page) <> 0 then
  begin
  validQIP := true;
  WB.Navigate('http://m.mail.qip.ru/~Inbox;');

  ql := 2;
  end
  else
  begin
   if Pos('Создание почтового ящика', page) <> 0 then
    begin
     if (WB.OleObject.Document.all.tags('button').item(0).type = 'submit') then
      WB.OleObject.Document.all.tags('button').item(0).click;
     ql := 2;
    end
    else
    begin
       validQIP := false;
    end;
  end;

end;

Код:
procedure TMForm.GoHL;
begin
WB.Navigate('****');

end;
Данный код у меня на ПК ( Windows 7 ) прекрасно работает. Если же запустить его на серверной ОС (2007, 2008, 2012), то код просто тормозит после авторизации, т.е. процедура CheckValidQip; не выполняется.
Не могу понять в чем проблема. Эмулирую так:

Код:
procedure TMForm.EditReg;
Var
Reg: TRegistry;
begin
Reg:=TRegistry.Create;
Reg.RootKey:=HKEY_CURRENT_USER;
Reg.CreateKey('\Software\Microsoft\Internet Explorer\Main');
Reg.CreateKey('\Software\Microsoft\Internet Explorer\Main\FeatureControl');
Reg.CreateKey('\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION');
Reg.OpenKey('\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION', true);
Reg.WriteInteger('MF.exe', 11001);
end;
В настройках ИЕ все нормально, вроде.
Буду благодарен, если направите в нужную сторону.
_ZixeL_ вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Отобразить загрузку страницы WebBrowser UKRtortik Общие вопросы Delphi 5 01.07.2014 05:36
Часть страницы в webbrowser wpf boroviker C# (си шарп) 5 02.08.2012 16:01
открытие страницы Get запросом WebBrowser mrCloud Общие вопросы Delphi 1 16.06.2011 19:19
Исходник страницы в WebBrowser s197 Общие вопросы .NET 1 29.12.2010 15:37
Передача страницы из webbrowser rootann Работа с сетью в Delphi 17 22.08.2009 11:26