![]() |
AWebBrowser.Navigate benötigt mehr Angaben?!
Hallo,
ich habe es unter BDS2006 nun auch endlich geschafft, den WebBrowser zu importieren. Dabei wurde dieser von TWebBrowser(_V1) wohl nach CppWebBrowser(_V1) umbenannt. Aber ich habe folgendes Problem. Mit D7 ging folgender Code:
Delphi-Quellcode:
An dem CppWebBrowser_V1 liegt es nicht. Das Problem ist aber: AWebBrowser.Navigate() benötigt mehr Angaben. Laut der Hilfe werden folgende Angaben benötigt:
procedure LoadHTML(AWebBrowser: CppWebBrowser_V1; AHTMLCode: TStrings);
var Tab: OleVariant; begin if AWebBrowser.Document = nil then AWebBrowser.Navigate('about:blank'); Tab := AWebBrowser.Document; Tab.Clear; Tab.Write(AHTMLCode.Text); Tab.Close; end; URL, Flag, TargetFrameName, PostDate und Header. Allerdings habe ich keine Ahnung, was da hin muss und hoffe, mir kann jemand helfen. :( |
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Lass einfach das Komma weg.
Delphi-Quellcode:
procedure LoadHTML(AWebBrowser: CppWebBrowser_V1; AHTMLCode: TStrings);
var Tab: OleVariant; begin awebbrowser.navigate if AWebBrowser.Document = nil then AWebBrowser.Navigate('about:blank'); // Hier das Komma weg und dann müsste es gehen Tab := AWebBrowser.Document; Tab.Clear; Tab.Write(AHTMLCode.Text); Tab.Close; end; |
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Achso, das Komma ist von mir hinzugekommen. Ich hatte es erst mit "nil" versucht und dann vergessen, dass Komma zu löschen.
Funktionieren tut es trotzdem nicht - auch ohne Komma. ;) |
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Ich benutze das Ding ja nie, aber benötigt die Methode navigate nicht einen String-Parameter mit der URL?
Delphi-Quellcode:
sieht zumindest komisch aus, selbst ohne Parameter fehlt da ein Semikolon.
awebbrowser.navigate
|
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Delphi-Quellcode:
procedure NavigateURL(WebBrowser: CppWebBrowser_V1; URL: string);
var EmptyParam : OleVariant; begin Webbrowser.Navigate(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam); end; |
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Zitat:
Delphi-Quellcode:
procedure LoadHTML(AWebBrowser: CppWebBrowser_V1; AHTMLCode: TStrings);
var Tab: OleVariant; begin awebbrowser.navigate(edit1.text); // BSP die Eingabeleiste oder so. oder halt wieder ('www.google.de') oder ähnliches if AWebBrowser.Document = nil then AWebBrowser.Navigate('about:blank'); Tab := AWebBrowser.Document; Tab.Clear; Tab.Write(AHTMLCode.Text); Tab.Close; end; |
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Zitat:
Delphi-Quellcode:
Nun meckert der Compiler aber bei dem Aufruf:
procedure LoadHTML(AWebBrowser: CppWebBrowser_V1; AHTMLCode: TStrings);
var Tab: OleVariant; begin if AWebBrowser.Document = nil then AWebBrowser.Navigate('about:blank', EmptyParam, EmptyParam, EmptyParam, EmptyParam); Tab := AWebBrowser.Document; Tab.Clear; Tab.Write(AHTMLCode.Text); Tab.Close; end;
Delphi-Quellcode:
NavigateURL(Browser, HTML);
Zitat:
|
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Zitat:
Deklariere :
Delphi-Quellcode:
procedure NavigateURL(WebBrowser: IWebBrowser; URL: string);
|
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Die Komponente ist aber vom Typ TCppWebBrowser_V1. Wenn ich nun alles nach IWebBrowser umdeklariere, meckert der Compiler trotzdem.
|
Re: AWebBrowser.Navigate benötigt mehr Angaben?!
Zitat:
Sowohl die Klasse als auch die Interfaces haben eine Methode Navigate(). Wir wollen aber mit dem Interface arbeiten, weil das a.) effizienter und b.) flexibler ist. Denn die kapselnde Klasse macht letztendlich nichts anderes, als ebenfalls das Interface zu benützen.
Delphi-Quellcode:
Der Unterschied zwischen IWebBrowser und IWebBrowser2 ist, dass IWebBrowser2 einige Methoden mehr hat, aber ansonsten alles kann, was IWebBrowser auch kann.
NavigateURL(CppWebBrowser_V1.DefaultInterface, 'http://www.delphipraxis.de');
Mein D2007 gibt als DefaultInterface das IWebBrowser2 raus. Kein Problem, das kann man leicht umwandeln:
Delphi-Quellcode:
Man kann sich das Leben einfacher machen, indem man im Formular eine lokale Variable anlegt:
NavigateURL(CppWebBrowser_V1.DefaultInterface as IWebBrowser, 'http://www.delphipraxis.de');
Delphi-Quellcode:
und diese Variable einmal zuweist und dann immer nur noch mit FWebBrowser arbeitet.
FWebBrowser:IWebBrowser;
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz