Delphi-PRAXiS
Seite 3 von 4     123 4      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Twebbrowser Problem... (https://www.delphipraxis.net/53144-twebbrowser-problem.html)

Andi1982ka 24. Mär 2006 08:21

Re: Twebbrowser Problem...
 
Oh ich bin so blöde :nut: Habe gerade gesehen dass der oben angesprochene Banner in einem Extra frame ist...

Kann ich irgendwie abfragen welches frame den schalter "DocumentLoaded" auf false setzt? Dann könnte ich beim Setzen auf true wieder nur das frame auf true setzen lassen wo auch auf false gesetzt hat...

Nur wie geht das???

marabu 24. Mär 2006 08:23

Re: Twebbrowser Problem...
 
Die Prüfung auf den frame hast du selbst ausgeschaltet - das war die Zeile mit pDisp und DefaultInterface. Die ausführliche Erklärung dazu steht auf der Seite mit dem von mir angegebenen URL.

marabu

Andi1982ka 24. Mär 2006 08:27

Re: Twebbrowser Problem...
 
achso ok... aber was macht denn die prüfung hier für einen sinn in diesem Ereignis

Delphi-Quellcode:
procedure TWebForm.WebBrowserBeforeNavigate2(Sender: TObject;
  const pDisp: IDispatch; var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; var Cancel: WordBool);
begin
  if pDisp = WebBrowser.DefaultInterface then
    DocumentLoaded := false;
end;
das danach abzufragen um zu prüfen ob auch wirklich wieder das selbe frame den schalter auf "true" setzt finde ich verständlich. Nur das im BeforeNavigate2 versteh ich den sinn nicht... In deinem Link wird es auch nur danach abgefragt...

marabu 24. Mär 2006 08:35

Re: Twebbrowser Problem...
 
Im Ereignis OnBeforeNavigate2() kannst du die Prüfung auch weglassen. Dann wird die Variable DocumentLoaded bei sieben Frames halt achtmal auf false gesetzt.

marabu

Andi1982ka 24. Mär 2006 08:51

Re: Twebbrowser Problem...
 
Ich werde heute mittag mal versuchen im "OnBeforeNavigate2()" das pDisp zu speichern und dann im DocumentComplete() abzufragen ob das auch wirklich mein Frame ist wo den Schalter wieder auf "True" setzt.

Asatru 30. Mai 2007 15:48

Re: Twebbrowser Problem...
 
#Edit: Wenn ich den Quellcode so verwende sagt er mir immer das in

procedure TWebForm.WebBrowserBeforeNavigate2(Sender: TObject;

ein fehler liegen soll!

Kann mir sagen was da falsch ist?!?


MFG

Quellcode von marubu

marabu 30. Mai 2007 16:04

Re: Twebbrowser Problem...
 
Herzlich willkommen in der Delphi-PRAXiS, Asatru.

Lass dich nicht von meinen inkonsistenten Bezeichnern in Beitrag #14 verwirren. Die Qualifizierung mit TWebForm, TDemoForm und TForm1 kam durch Copy & Paste aus verschiedenen Demos zustande. Deine IDE erzeugt automatisch die richtigen Qualifizierungen, wenn du die Events im Object Inspector erzeugst.

Freundliche Grüße vom marabu

Asatru 30. Mai 2007 16:15

Re: Twebbrowser Problem...
 
Ok Danke schön. Versuche das alles auf Mufa zu beziehen,

nun hab ich nochmal ne Frge zu dem ClickLink

Nach erfolgreichen Login soll er den Link Free SMS Aktivieren

Zitat:

Free SMS
Möchte das er den Link eben klickt und nicht über navigate steuern, wie könnt ich das machen?!?

marabu 30. Mai 2007 17:52

Re: Twebbrowser Problem...
 
Hallo,

jeder link kann über seine Methode Click() aktiviert werden - das ist der einfache Teil der Aufgabe. Vorher musst du das Link-Objekt lokalisieren, was je nach Seitengestaltung (frames?) mehr oder weniger aufwendig sein kann. Vielleicht hilft dir dieser Thread bei der Informationsbeschaffung: link einer seite anklicken

Freundliche Grüße

DataCool 31. Mai 2007 10:47

Re: Twebbrowser Problem...
 
Hi,

@Marabu:
Könntest Du mir sagen warum Dein Demo Source bei folgender Seite nicht funktioniert ?!:

Code:
<FORM Action="login.php" name="SendForm" method="POST">

<Input type="hidden" name="submit" value="senden">
<COLGROUP>
<COL>
<COL>
</COLGROUP>
<TR><TD height=25 BgColor="#CD7DA4" ColSpan=2 Align="center">[B]XYZ Login[/B]</TD></TR>
<TR>
   <TD BgColor="#EB8DBB">Kennwort:</TD>
   <TD BgColor="#FF99CB"><Input type="text" class="forminputa" style="width : 200px;" name="FormKennwort" size=15></TD>
</TR>
<TR>
   <TD BgColor="#EB8DBB">Passwort:</TD>

   <TD BgColor="#FF99CB"><Input type="password" class="forminputa" style="width : 200px;" name="FormPasswort" size=15></TD>
</TR>
<TR>
   <TD ColSpan=2 BgColor="#EB8DBB" Align="center"><Input type="image" src="/images/gif/senden.gif" name="submit" border=0 ALT="Login"></TD>
</TR>
</FORM>
Der Fehler tritt in Deinem Source bei :
WebB.OleObject.document.forms.item(0).submit;

Die Fehlermeldung ist :
"EOleSysError" "Mitglied nicht gefunden"

Thx & Greetz DataCool


Alle Zeitangaben in WEZ +1. Es ist jetzt 00:36 Uhr.
Seite 3 von 4     123 4      

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