AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi WebBrowser - Überprüfen ob Eingabefeld vorhanden
Thema durchsuchen
Ansicht
Themen-Optionen

WebBrowser - Überprüfen ob Eingabefeld vorhanden

Offene Frage von "skyquaker"
Ein Thema von skyquaker · begonnen am 9. Feb 2008 · letzter Beitrag vom 9. Feb 2008
Antwort Antwort
skyquaker

Registriert seit: 14. Sep 2006
96 Beiträge
 
Delphi 7 Professional
 
#1

WebBrowser - Überprüfen ob Eingabefeld vorhanden

  Alt 9. Feb 2008, 18:50
In meinem Programm wird ständig ein Webbrowser (ich benutze die Embedded Webbrowser Komponenten, die sind aber vollständig mit dem "normalen" Webbrowser kompatibel) benutzt, in dem Inputfelder mit Daten ausgefüllt werden. Manchmal kommt es aber vor, das eine Seite nicht (vollständig) erreichbar (die seite wird angezeigt, es ist aber kein formular zu sehen) ist und dann kriege ich eine wunderbare Access Violation. (Diese mit try ... except abzufangen geht nicht, das habe ich bereits probiert.) Deshalb möchte ich zuerst eine Funktion einbauen, die überprüft ob die Seite korrekt angezeigt wird (also alle Formularfelder vorhanden sind).

Das habe ich mir so gedacht:
Delphi-Quellcode:
function checksite():Boolean
begin

if
Überprüfen ob ein bestimmtes Element vorhanden ist.
then
Wenn ja: Result:=true;
else
Wenn nein: Result:=false;

end;
Kann mir jemand helfen? Das würde mich ein ganzes Stück weiter bringen
  Mit Zitat antworten Zitat
marabu

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

Re: WebBrowser - Überprüfen ob Eingabefeld vorhanden

  Alt 9. Feb 2008, 19:40
Hallo,

eine Gegenfrage: Wie stellst du denn bisher sicher, dass du erst dann auf das HTML Document Object Model zugreifst, wenn es vollständig aufgebaut wurde?

Freundliche Grüße
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#3

Re: WebBrowser - Überprüfen ob Eingabefeld vorhanden

  Alt 9. Feb 2008, 19:58
Zitat:
Diese mit try ... except abzufangen geht nicht
Wenn dein Programm außerhalb von Delphi läuft, kommt keine Fehlermeldung.
Thomas
  Mit Zitat antworten Zitat
skyquaker

Registriert seit: 14. Sep 2006
96 Beiträge
 
Delphi 7 Professional
 
#4

Re: WebBrowser - Überprüfen ob Eingabefeld vorhanden

  Alt 9. Feb 2008, 20:00
Zitat von marabu:
Hallo,

eine Gegenfrage: Wie stellst du denn bisher sicher, dass du erst dann auf das HTML Document Object Model zugreifst, wenn es vollständig aufgebaut wurde?

Freundliche Grüße
Mit der WaitForBrowser Procedure (die ich hier im Forum gefunden habe):

Delphi-Quellcode:
procedure WaitForBrowser(WebBrowser:TEmbeddedWB);
begin
   while WebBrowser.ReadyState <> READYSTATE_COMPLETE do
   begin
      Application.ProcessMessages;
      Sleep(50);
   end;
end;
Oder meintest du was anderes?
  Mit Zitat antworten Zitat
skyquaker

Registriert seit: 14. Sep 2006
96 Beiträge
 
Delphi 7 Professional
 
#5

Re: WebBrowser - Überprüfen ob Eingabefeld vorhanden

  Alt 9. Feb 2008, 20:02
Zitat von toms:
Zitat:
Diese mit try ... except abzufangen geht nicht
Wenn dein Programm außerhalb von Delphi läuft, kommt keine Fehlermeldung.
Doch, leider schon. Ich kriege immer eine Access Violation, egal ob innner- oder außerhalb von Delphi.
  Mit Zitat antworten Zitat
marabu

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

Re: WebBrowser - Überprüfen ob Eingabefeld vorhanden

  Alt 9. Feb 2008, 22:11
Wenn ich mich richtig erinnere, dann leistet die Funktion FindInputElement() das, was du suchst.

Dein Zugriffsfehler wird vermutlich durch einen mehrstufigen Ausdruck wie z.B. WebBrowser .OleObject .Document .forms .item('sampleform') .elements .item('user') verursacht, wobei ein NIL-Zeiger (z.B. item('sampleform')) enthalten ist. Um das zu erkennen kannst du den Ausdruck zerlegen und schrittweise ausführen.

Gute Nacht
  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 09:24 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