Einzelnen Beitrag anzeigen

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, 12: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