AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Twebbrowser überprüfen, ob komponente existiert
Thema durchsuchen
Ansicht
Themen-Optionen

Twebbrowser überprüfen, ob komponente existiert

Ein Thema von Innos · begonnen am 4. Jul 2007 · letzter Beitrag vom 4. Jul 2007
Antwort Antwort
Innos

Registriert seit: 5. Jun 2007
142 Beiträge
 
#1

Twebbrowser überprüfen, ob komponente existiert

  Alt 4. Jul 2007, 19:07
moin

hab folgenes problem:
ich habe ein pro womit ich mich auf einer inet seite anmelde... das klappt auch alles. nur wenn man falsche daten btw keinen internet zugang hat stürzt das programm ab -.-

also will ich mit Boolean irgendwie feststellen, dass zB das edit-feld für die ID oder PW in der seite existiert...
SuFu hat nix gescheites ergeben^^ aba hab schon paar anfänge...

Delphi-Quellcode:
geheimcont:=(WebBrowser1.OleObject.document.forms.item(1).elements.item('yanswer')).value:=PW;
//yanswer is der name von dem Edit feld und PW ist mein passwort als string
      if geheimcont=false then //geiheimcont is ein Boolean
        begin
        showmessage('Der Vorgang ist fehlgeschlagen!');
        exit;
      end;
wie gesagt ohne diesem code funktioniert alles... aber es wird halt nich kontrolliert, ob alles richtig läuft, da man keine einsicht auf den Webbrowser hat
das geht nicht -.- habe keine ahnung warum

vielen Danke scho mal im voraus

mfg innos
  Mit Zitat antworten Zitat
marabu

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

Re: Twebbrowser überprüfen, ob komponente existiert

  Alt 4. Jul 2007, 19:29
Hallo,

die Prüfung solltest du machen, bevor du auf eine Eigenschaft wie Value zugreifst:

Delphi-Quellcode:
var
  v: OleVariant;
begin
  v := WebBrowser.OleObject.document.forms.item(1).elements.item('yanswer');
  if not VarIsNull(v) then
    v.Value := PW;
end;
Getippt und nicht getestet.

Grüße vom marabu
  Mit Zitat antworten Zitat
Innos

Registriert seit: 5. Jun 2007
142 Beiträge
 
#3

Re: Twebbrowser überprüfen, ob komponente existiert

  Alt 4. Jul 2007, 19:48
mhh thx erstmal...
es funktioniert soweit, dass es startet und solang alles angezeigt werden kann alles beim alten ....
nur wenn man halt die falschen eingaben macht, stürzt es immer noch ab. ich glaube wenn das prog versucht in diesem frame etwas zufinden kommt es zu der fehler meldung

edit: was heißt eig VarIsNull?
  Mit Zitat antworten Zitat
marabu

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

Re: Twebbrowser überprüfen, ob komponente existiert

  Alt 4. Jul 2007, 20:01
Hallo,

ich muss zugeben, dass ich dein Problem nicht so gut verstehe. Die von mir angegebene Prüfung für das Eingabe-Element musst du natürlich auch für die Web-Form machen:

Delphi-Quellcode:
var
  v: OleVariant;
begin
  v := WebBrowser.OleObject.document;
  if v.forms.length > 1 then
  begin
    v := v.forms.item(1).elements.item('yanswer');
    if not VarIsNull(v) then
      v.Value := PW;
  end;
end;
Freundliche Grüße
  Mit Zitat antworten Zitat
Innos

Registriert seit: 5. Jun 2007
142 Beiträge
 
#5

Re: Twebbrowser überprüfen, ob komponente existiert

  Alt 4. Jul 2007, 20:08
aha^^ deinen neuen code probier ich sofort...
habe aba glaube ich das problem gefunden aber nicht gelöst ;(


also: mein programm soll auf einer internetseite ein PW ändern. dazu muss ich in einige edit-felder schreiben... und dann bestätigen. Wenn ich also was falsches eingeben, kommt natürlich nicht das nächste edit-feld beim bestätigen sonderen eine nachricht...
ich glaube aber, dass das neue edut-feld dennoch existiert, das das prog versucht in dieses hineinzuschreiben -.-

also is dein 1. code (glaub ich) durchaus richtig nur man müsste prüfen, ob es Enabled ist oder nicht^^

EDIT: jo dein 2. code geht auch net -.- man muss iwie rausfinden, ob das edit feld in der seite ansprechbar ist...
  Mit Zitat antworten Zitat
marabu

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

Re: Twebbrowser überprüfen, ob komponente existiert

  Alt 4. Jul 2007, 20:35
Hallo,

mein Code kann dein Problem nicht lösen, da ich nicht genügend Informationen habe. Der Code soll dir nur zeigen, was bei einem ungeprüften Zugriff schief laufen kann und wie du es verhinderst. Um dir wirklich helfen zu können benötige ich den Quelltext der betroffenen HTML-Seiten (oder eine vollständige und korrekte Beschreibung deines Problems). Wenn du selbst weiter probieren möchtest, dann empfehle ich dir in kleinen Schritten vorzugehen. Ziehe dir ein Memo auf deine Form und schreibe nach jeder Zeile Code ein überprüfbares Zwischenergebnis in das Memo.

Freundliche Grüße
  Mit Zitat antworten Zitat
Innos

Registriert seit: 5. Jun 2007
142 Beiträge
 
#7

Re: Twebbrowser überprüfen, ob komponente existiert

  Alt 4. Jul 2007, 21:09
ok wird zwar etwas arbeit aba vielen Dank an dich hast mir echt geholfen, denn ich weiß jetzt zumindest woran es liegt...
  Mit Zitat antworten Zitat
Innos

Registriert seit: 5. Jun 2007
142 Beiträge
 
#8

Re: Twebbrowser überprüfen, ob komponente existiert

  Alt 4. Jul 2007, 22:03
maannnn
das funktioniert alles nicht T_T

also ich versuche mein problem nochmal genauer zuerklären

mit meinem programm ändert man über eine internetseite ein Passwort für ein Onlinespiel...
dazu ruft das Prog in der Twebbrowser komponente einen link auf, in dem man seine ID und die E-Mail addresse eingeben muss...
danach (wenn die eingabe richtig war) öffnet sich in dem WebBrowser ne neue seite, wo man dann eine geheumfrage bestätigen muss und schließlich auf der letzten Seite wird dann nach dem neuen gewünschten PW gefragt.
DAS FUNKTIONIERT bereits...

ABER: wenn ich zB keine Verbindung mit dem internet habe, oder wenn ich falsche eingaben vornehme, werden ja die nachfolgenen seiten anders aussehen...
diese seiten (zB mit E-Mail-eingabe ist falsch) soll das programm erkennen... oder wenigstens wissen, dass hier nicht alles nach plan läuft, um dann eine Warnung an den Benutzer zu schicken.. und feddich

Also: Ich will jedesmal wenn eine neue Seite aufgerufen wird, diese nach bestimmten Komponenten durchsuchen (zB die Edit-Felder)
und NUR wenn diese existieren, soll dann ein String an die gesendet werden...

BITTE helft mir ich hab echt keine ahnung und habe recht viel zeit schon daran verbracht -.-

Vielen Dank xD Hoffe ihr versteht mein problem jetzt etwas besser

mfg Innos
  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 04:46 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