AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi WebBrowser Ladevorgang

WebBrowser Ladevorgang

Ein Thema von TheTana · begonnen am 8. Jul 2008 · letzter Beitrag vom 11. Jul 2008
Antwort Antwort
TheTana

Registriert seit: 12. Mär 2008
3 Beiträge
 
Delphi 2006 Professional
 
#1

WebBrowser Ladevorgang

  Alt 8. Jul 2008, 08:54
Guten Tag,
ich quäle mich jetzt schon etwas länger mit dem allseits bekannten Problem, dass ich ein Formular über den TWebBrowser steuern möchte.

Der Ablauf ist etwa so:
Seite laden
Formular ausfüllen
Seite abschicken
Ergebnis auswerten
Weiter ausfüllen
Wieder abschicken

usw.

Dabei ist es mein Ziel, dass die Aufgaben erst fortgesetzt werden, wenn die Ergebnisseite der vorherigen Abfrage geladen ist. Natürlich habe ich mich schon im Forum umgesehen und Hier im Forum suchenOnDocumentComplete und Hier im Forum suchenWaitforBrowser gefunden. Ich habe versucht beides zu verwenden, bin jedoch gescheitert und kann mir nicht erklären warum.

Hier meine Versuche:


Versuch1:

Delphi-Quellcode:
        WebBrowser1.OleObject.Document.forms.item(3).elements.item(20).click;
   WaitforBrowser(WebBrowser1);
   WebBrowser1.OleObject.Document.ParentWindow.ScrollTo(0, 500);
Delphi-Quellcode:
procedure TForm1.WaitForBrowser(WB: TWebbrowser);
begin
  while (WB.ReadyState <> READYSTATE_COMPLETE) // Wärend der STatus ungleich 'fertig'
    and not (Application.Terminated) do // und das Programm nicht abgebrochen wurde
  begin
    Application.ProcessMessages;
    Sleep(0); // Hier habe ich sowohl große, als auch kleine Zahlen eingesetzt
  end;
end;
Bei meinem Anlauf mit WaitforBrowser ist der Browser bevor das Ergebnis geladen wurde bereits auf die Position gescrollt, auf der das

Ergebnis stehen wird und verliert diese Position wieder, nach dem das Ergebnis geladen wurde.


Versuch2:

Delphi-Quellcode:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
    ShowMessage('Fertig geladen');
end;

end.
Hierauf springt der Browser niemals an, egal wie viele Ergebnisse geladen werden.

Könnt ihr mir weiterhelfen? Ich hoffe die Lösung ist nicht all zu trivial, mein Delphi-Fachwissen hält sich leider noch in Grenzen.

Grüße

Tana
Jeder noch so kleine Schritt in Richtung Ziel ist ein Schritt in die richtige Richtung.
  Mit Zitat antworten Zitat
TheTana

Registriert seit: 12. Mär 2008
3 Beiträge
 
Delphi 2006 Professional
 
#2

Re: WebBrowser Ladevorgang

  Alt 9. Jul 2008, 12:30
Über Ideen oder Anhaltspunkte, oder andere Arten von Rückmeldungen würde ich mich auch schon sehr freuen.

Mit freundlichen Grüßen

Tana
Jeder noch so kleine Schritt in Richtung Ziel ist ein Schritt in die richtige Richtung.
  Mit Zitat antworten Zitat
marabu

Registriert seit: 6. Apr 2005
10.109 Beiträge
 
#3

Re: WebBrowser Ladevorgang

  Alt 9. Jul 2008, 12:53
Herzlich willkommen in der Delphi-PRAXiS, Tana.

Da die beiden von dir gefundenen Konzepte über jeden Zweifel erhaben sind, bleibt mir nur die Schlussfolgerung, dass du einen Fehler bei deren Anwendung machst. Kannst du bitte ein Minimalprojekt aufsetzen, welches deine Schwierigkeiten verdeutlicht?

Freundliche Grüße
  Mit Zitat antworten Zitat
TheTana

Registriert seit: 12. Mär 2008
3 Beiträge
 
Delphi 2006 Professional
 
#4

Re: WebBrowser Ladevorgang

  Alt 11. Jul 2008, 07:15
So, ich hab's endlich gelöst!

Ich hatte das hier:
Delphi-Quellcode:
procedure TForm1.WebBrowser1DocumentComplete(Sender: TObject;
  const pDisp: IDispatch; var URL: OleVariant);
begin
    ShowMessage('Fertig geladen');
end;

end.
per Hand angelegt,anstatt es vom Clienten anlegen zu lassen. Tja, im nachhinein ist man immer schlauer. Ich sollte mich mehr mit dem Rumgeklicke anfreunden.

Auf jeden Fall nochmal danke an alle, die sich die Mühe gemacht haben sich hier reinzudenken.

Warum das WaitforBrowser nicht funktioniert hat, hab' ich allerdings nicht mehr rausgefunden. Aber das brauch ich ja jetzt auch nicht mehr.

Liebe Grüße

Tana
Jeder noch so kleine Schritt in Richtung Ziel ist ein Schritt in die richtige Richtung.
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 01:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz