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 1 von 2  1 2      
MCXSC
(Gast)

n/a Beiträge
 
#1

AWebBrowser.Navigate benötigt mehr Angaben?!

  Alt 24. Aug 2008, 18:53
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:
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;
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:

URL, Flag, TargetFrameName, PostDate und Header.

Allerdings habe ich keine Ahnung, was da hin muss und hoffe, mir kann jemand helfen.
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#2

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

  Alt 24. Aug 2008, 18:59
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;
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#3

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

  Alt 24. Aug 2008, 19:07
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.
  Mit Zitat antworten Zitat
Benutzerbild von DeddyH
DeddyH

Registriert seit: 17. Sep 2006
Ort: Barchfeld
27.542 Beiträge
 
Delphi 11 Alexandria
 
#4

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

  Alt 24. Aug 2008, 19:11
Ich benutze das Ding ja nie, aber benötigt die Methode navigate nicht einen String-Parameter mit der URL?awebbrowser.navigate sieht zumindest komisch aus, selbst ohne Parameter fehlt da ein Semikolon.
Detlef
"Ich habe Angst vor dem Tag, an dem die Technologie unsere menschlichen Interaktionen übertrumpft. Die Welt wird eine Generation von Idioten bekommen." (Albert Einstein)
Dieser Tag ist längst gekommen
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#5

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

  Alt 24. Aug 2008, 19:14
Delphi-Quellcode:
procedure NavigateURL(WebBrowser: CppWebBrowser_V1; URL: string);
var
  EmptyParam : OleVariant;
begin
  Webbrowser.Navigate(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;
Thomas
  Mit Zitat antworten Zitat
BullsEye

Registriert seit: 8. Sep 2007
Ort: Werlte
872 Beiträge
 
Delphi 7 Personal
 
#6

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

  Alt 24. Aug 2008, 19:16
Zitat von DeddyH:
Ich benutze das Ding ja nie, aber benötigt die Methode navigate nicht einen String-Parameter mit der URL?awebbrowser.navigate sieht zumindest komisch aus, selbst ohne Parameter fehlt da ein Semikolon.
ja, tut es, sry hab ich gerade ganz übersehen

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;
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#7

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

  Alt 24. Aug 2008, 19:21
Zitat von toms:
Delphi-Quellcode:
procedure NavigateURL(WebBrowser: CppWebBrowser_V1; URL: string);
var
  EmptyParam : OleVariant;
begin
  Webbrowser.Navigate(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;
Danke!

Delphi-Quellcode:
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;
Nun meckert der Compiler aber bei dem Aufruf:

NavigateURL(Browser, HTML);
Zitat:
E2010 Inkompatible Typen: 'IWebBrowser' und 'TCppWebBrowser'
  Mit Zitat antworten Zitat
Benutzerbild von toms
toms
(CodeLib-Manager)

Registriert seit: 10. Jun 2002
4.648 Beiträge
 
Delphi XE Professional
 
#8

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

  Alt 24. Aug 2008, 19:30
Zitat:
E2010 Inkompatible Typen: 'IWebBrowser' und 'TCppWebBrowser'

Deklariere :
procedure NavigateURL(WebBrowser: IWebBrowser; URL: string);
Thomas
  Mit Zitat antworten Zitat
MCXSC
(Gast)

n/a Beiträge
 
#9

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

  Alt 24. Aug 2008, 19:52
Die Komponente ist aber vom Typ TCppWebBrowser_V1. Wenn ich nun alles nach IWebBrowser umdeklariere, meckert der Compiler trotzdem.
  Mit Zitat antworten Zitat
Benutzerbild von sx2008
sx2008

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

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

  Alt 24. Aug 2008, 20:46
Zitat von MCXSC:
Die Komponente ist aber vom Typ TCppWebBrowser_V1. Wenn ich nun alles nach IWebBrowser umdeklariere, meckert der Compiler trotzdem.
Es gibt hier eine Klasse (eigentlich TWebBrowser) und mehrere Interfaces IWebBrowser, IWebBrowser2.
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.
NavigateURL(CppWebBrowser_V1.DefaultInterface, 'http://www.delphipraxis.de'); Der Unterschied zwischen IWebBrowser und IWebBrowser2 ist, dass IWebBrowser2 einige Methoden mehr hat, aber ansonsten alles kann, was IWebBrowser auch kann.
Mein D2007 gibt als DefaultInterface das IWebBrowser2 raus.
Kein Problem, das kann man leicht umwandeln:
NavigateURL(CppWebBrowser_V1.DefaultInterface as IWebBrowser, 'http://www.delphipraxis.de'); Man kann sich das Leben einfacher machen, indem man im Formular eine lokale Variable anlegt:
  FWebBrowser:IWebBrowser; und diese Variable einmal zuweist und dann immer nur noch mit FWebBrowser arbeitet.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 23:30 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