AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi AWebBrowser.Navigate benötigt mehr Angaben?!
Thema durchsuchen
Ansicht
Themen-Optionen

AWebBrowser.Navigate benötigt mehr Angaben?!

Ein Thema von MCXSC · begonnen am 24. Aug 2008 · letzter Beitrag vom 26. Aug 2008
Antwort Antwort
Seite 2 von 2     12   
MCXSC
(Gast)

n/a Beiträge
 
#11

Re: AWebBrowser.Navigate benötigt mehr Angaben?!

  Alt 24. Aug 2008, 21:21
Irgendwie versteh ich grade nur Bahnhof.

Ich habe die "MS Internet Controls" importiert und nun auf meinem Form eine Komponente namens "Browser" vom Typ CppWebBrowser_V1. Von IWebbrowser habe und finde ich da so gut wie gar nichts.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#12

Re: AWebBrowser.Navigate benötigt mehr Angaben?!

  Alt 24. Aug 2008, 22:11
Zitat von MCXSC:
Ich habe die "MS Internet Controls" importiert und nun auf meinem Form eine Komponente namens "Browser" vom Typ CppWebBrowser_V1. Von IWebbrowser habe und finde ich da so gut wie gar nichts.
IWebBrowser ist ein Interface und somit unsichtbar.
Hier gibt's Infos darüber, was ein Interface eigentlich ist.

Hier ein Auszug, wie das Interface deklariert ist:
Delphi-Quellcode:
// *********************************************************************//
// Interface: IWebBrowser
// Flags: (4432) Hidden Dual OleAutomation Dispatchable
// GUID: {EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B}
// *********************************************************************//
  IWebBrowser = interface(IDispatch)
    ['{EAB22AC1-30C1-11CF-A7EB-0000C05BAE0B}']
    procedure GoBack; safecall;
    procedure GoForward; safecall;
    procedure GoHome; safecall;
    procedure GoSearch; safecall;
    procedure Navigate(const URL: WideString; const Flags: OleVariant;
                       const TargetFrameName: OleVariant; var PostData: OleVariant;
                       const Headers: OleVariant); safecall;
    procedure Refresh; safecall;
    procedure Refresh2(var Level: OleVariant); safecall;
    procedure Stop; safecall;
Diesen Code findest du garantiert in der Unit, die du importiert hast.
Normalerweise heisst diese Unit SHDocVw oder auch SHDocVw_TLB.
Dort finden sich noch zig andere Interfaces.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#13

Re: AWebBrowser.Navigate benötigt mehr Angaben?!

  Alt 24. Aug 2008, 22:20
Ja, soweit verstehe ich das schon.

Aber ich arbeite ja nicht mit dem Interface direkt, sondern über die Komponente in der Designtime. Und da kann ich ein NavigateURL nirgendwo deklarieren.

Wie gesagt: Ich setze die Komponente auf die Form, und bennene sie in "Browser" um. Nun habe ich eine Funktion (die so auch mit D7 funktioniert hat):

Delphi-Quellcode:
procedure LoadHTML(AWebBrowser: CppWebBrowser_V1; AHTMLCode: TStrings);
var
  BrowerInhalt: OleVariant;
begin
  if AWebBrowser.Document = nil then AWebBrowser.Navigate('about:blank', EmptyParam, EmptyParam, EmptyParam, EmptyParam);
  BrowerInhalt:= AWebBrowser.Document;
  BrowerInhalt.Clear;
  BrowerInhalt.Write(AHTMLCode.Text);
  BrowerInhalt.Close;
end;
Der Aufruf des ganzen erfolgt(e) über die Zeile:

LoadHTML(Browser, HTML); //wobei HTML eine stringList ist
Delphi-Quellcode:
type
  TMainFrm = class(TForm)
    Browser: TCppWebBrowser;
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#14

Re: AWebBrowser.Navigate benötigt mehr Angaben?!

  Alt 26. Aug 2008, 05:33
Keiner mehr 'ne Idee...?
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

Registriert seit: 15. Feb 2008
Ort: Baden-Württemberg
2.332 Beiträge
 
Delphi 2007 Professional
 
#15

Re: AWebBrowser.Navigate benötigt mehr Angaben?!

  Alt 26. Aug 2008, 09:09
Zitat von MCXSC:
Keiner mehr 'ne Idee...?
Ich hab' doch oben geschrieben: Wir wollen aber mit dem Interface arbeiten, weil das a.) effizienter und b.) flexibler ist.
Die Komponente, die Delphi um die WebBrowser-Interfaces herumgebaut hat nennt man auch Wrapper (=Umhüllung, Schachtel).
Sie soll dir das Leben einfacher machen, weil du jetzt eine Komponente aufs Formular ziehen kannst.
Trotzdem solltest du nur mit den Interfaces arbeiten und die Komponente nur als Ding betrachten, dass dir Zugriff auf die Interfaces des Internet Explorers gibt.

Stell dir vor, du bekommst einen Bausatz für ein Flugzeug zu Weihnachten geschenkt.
Und du beschäftigst dich nur mit der Schachtel.
Du musst die Schachtel aufmachen und reinschauen!!!
In der Schachtel sich die Teile für das Flugzeug und in der Schachtel sind nur Interfaces für den IE.
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#16

Re: AWebBrowser.Navigate benötigt mehr Angaben?!

  Alt 26. Aug 2008, 14:04
Zitat von sx2008:
Ich hab' doch oben geschrieben: Wir wollen aber mit dem Interface arbeiten, weil das a.) effizienter und b.) flexibler ist.
Die Komponente, die Delphi um die WebBrowser-Interfaces herumgebaut hat nennt man auch Wrapper (=Umhüllung, Schachtel).
Sie soll dir das Leben einfacher machen, weil du jetzt eine Komponente aufs Formular ziehen kannst.
Trotzdem solltest du nur mit den Interfaces arbeiten und die Komponente nur als Ding betrachten, dass dir Zugriff auf die Interfaces des Internet Explorers gibt.
Ja, das versteh' ich schon. Aber ich hab' trotzdem keinen Plan was ich mit diesem nun machen soll...
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 16:10 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