AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Setienquelltext von TWebbrowser anzeigen...[gelöst]
Thema durchsuchen
Ansicht
Themen-Optionen

Setienquelltext von TWebbrowser anzeigen...[gelöst]

Ein Thema von Corpsman · begonnen am 14. Feb 2009 · letzter Beitrag vom 14. Feb 2009
Antwort Antwort
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#1

Setienquelltext von TWebbrowser anzeigen...[gelöst]

  Alt 14. Feb 2009, 13:09
Hossa,

Also das handeln von Internet sachen ist absolutes Neuland für mich.

Aber einges habe ich schon hinbekommen.

Doch zuerst was ich eigentlich will.

Ich hab hier ne URL in der ein Javascript steht.

Das wollte ich dann steuern, bzw bedienen.

Schnell war klar das das mittels

Delphi-Quellcode:
Function LoadHTML(URL: String): String;
Var
  IdHTTP1: tidhttp;
Begin
  IdHTTP1 := TIdHTTP.create(Nil);
  result := IdHTTP1.Get(URL);
  IdHTTP1.free;
End;
Nicht geht, da die Indy Komponente kein Javaskript kann.

Also hab ichs mal mit TWebBrowser probiert.

Und Wunderherlich, es öffnet sich ein fenster in dem ich ganz normal navigieren kann. Alles super.

In dem Fenster Tippe ich nen Code ein und drücke dann auf einen Button, das ich da drauf drücke kriege ich mittels

Delphi-Quellcode:
Procedure TForm2.WebBrowser1BeforeNavigate2(Sender: TObject;
  Const pDisp: IDispatch; Var URL, Flags, TargetFrameName, PostData,
  Headers: OleVariant; Var Cancel: WordBool);
Mit. Und alles wunderbar.

Doch das Problem ist das ich danach gerne wieder "unsichtbar" also ohne das Browserfensterchen weiterarbeiten würde.

Das geht aber nur wenn ich das Aktuelle Browserfenster auslesen kann. Und genau da ist mein Problem.

Laut diversen Posts und anderen Tipps und Tricks soll es mittels

Delphi-Quellcode:
Var

  aHTMLDoc: IHTMLDocument2;

  aHTMLBody: IHTMLElement;

  swHTMLText: WideString;

Begin
  
  If Not VarIsEmpty(WebBrowser1.Document) Then Begin

    aHTMLDoc := WebBrowser1.Document As IHTMlDocument2;

    aHTMLBody := aHTMLDoc.Get_body;

    swHTMLText := aHTMLBody.outerHTML;

    ShowMessage(swHTMLText);

  End;
Möglich sein.

Doch dazu mus man die Units "ActiveX" und "MSHTML_TLB" einbinden.

ActiveX hab ich in meinem D5Pro allerdings kennt er MSHTML_TLB nicht.

Und im I-net finde ich keinen Download zu dieser Unit.

Mus man nun unter D5 das ganz anders lösen, oder gibts die unit doch irgenwo zum DL ?
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  Mit Zitat antworten Zitat
Benutzerbild von Corpsman
Corpsman

Registriert seit: 8. Nov 2005
Ort: nähe Stuttgart
981 Beiträge
 
Delphi XE2 Professional
 
#2

Re: Setienquelltext von TWebbrowser anzeigen...

  Alt 14. Feb 2009, 14:04
Ahh

das mus man auch wissen die Unit MSHTML_TLB.pas kann man selbst erstellen :


Komponente -> ActiveX importieren

Microsoft HTML Object Library

anwählen

Unit Anlegen Klicken

Dann gehts
Uwe
My Sitewww.Corpsman.de

My marble madness clone Balanced ( ca. 70,0 mb ) aktuell ver 2.01
  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 10:11 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