AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Webbrowser OleObject - Felder füllen

Ein Thema von gee21 · begonnen am 9. Apr 2013 · letzter Beitrag vom 10. Apr 2013
Antwort Antwort
Volker Z.

Registriert seit: 3. Dez 2012
Ort: Augsburg, Bayern, Süddeutschland
419 Beiträge
 
Delphi XE4 Ultimate
 
#1

AW: Webbrowser OleObject - Felder füllen

  Alt 9. Apr 2013, 23:19
Hallo,

vermutlich liegt das Problem nicht beim Ausfüllen der Felder an sich, sondern an:
Delphi-Quellcode:
procedure TForm1.WebBrowser1DocumentComplete(ASender: TObject; const pDisp: IDispatch; var URL: OleVariant);
begin
  // [...]

  if combobox2.ItemIndex = 1 then
    begin
      repeat;
        application.processmessages;
        sleep(1);
      until webbrowser1.readystate=4;

      try
         webbrowser1.oleobject.document.forms.item(1).elements.item('loginform_login').value := memo2.lines[2];
      except
      end;

      if webbrowser1.oleobject.document.forms.item(1).elements.item('loginform_login').value =memo2.lines[2] then
        begin
          webbrowser1.oleobject.document.forms.item(1).elements.item('loginform_password').value := memo2.lines[3] ;
          webbrowser1.oleobject.document.forms.item(1).submit; // <-- HIER liegt wohl das Problem
        end;

      //server1 ende
    end;
end;
Das submit sendet die Daten an den Server, der Server antwortet, es wird erneut TForm1.WebBrowser1DocumentComplete aufgerufen, combobox2.ItemIndex hat noch immer den Wert 1, der Versuch loginform_login mit einem Wert zu befüllen scheitert.

Gruß
Volker Zeller
  Mit Zitat antworten Zitat
gee21

Registriert seit: 3. Jan 2013
199 Beiträge
 
Delphi 10.4 Sydney
 
#2

AW: Webbrowser OleObject - Felder füllen

  Alt 9. Apr 2013, 23:30
Hi Volker

Genau das habe ich auch gerade gedacht. Darum hab ich gerade so abgeändert:

Delphi-Quellcode:
///////////////// //////////////////////

if combobox2.ItemIndex=1 then begin
combobox2.ItemIndex:=0;

repeat;
Application.ProcessMessages;
Sleep(1);
until WebBrowser1.ReadyState=4;


webbrowser1.oleobject.document.forms.item(1).elements.item('LoginForm_Login').value := memo2.Lines[2];


if webbrowser1.oleobject.document.forms.item(1).elements.item('LoginForm_Login').value =memo2.Lines[2] then begin
webbrowser1.oleobject.document.forms.item(1).elements.item('LoginForm_Password').value := memo2.Lines[3] ;
webbrowser1.oleobject.document.forms.item(1).submit;
end;

//Server1 ENDE

end;

So dürfte der abschnitt ja nur 1x durchgeführt werden. Aber leider gleicher Effekt.
Robert

Geändert von gee21 ( 9. Apr 2013 um 23:35 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 20:40 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz