AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi Andere Seite im IE aufrufen...
Thema durchsuchen
Ansicht
Themen-Optionen

Andere Seite im IE aufrufen...

Offene Frage von "hibbert"
Ein Thema von hibbert · begonnen am 29. Nov 2004 · letzter Beitrag vom 29. Nov 2004
Antwort Antwort
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#1

Andere Seite im IE aufrufen...

  Alt 29. Nov 2004, 14:45
Hi,
ich habe den Quelltext einer HTML Seite aus dem IE ausgelesen (Siehe hier)

Nun habe ich einige Quelltext Teile ausgetauscht und den Quelltext auf Festplatte gespeichert als HTML. Nun soll der IE diese abgespeicherte Seite aufrufen. Diese soll aber im gleichen IE Fenster geöffnet werden.

thx hibbert
  Mit Zitat antworten Zitat
Benutzerbild von fkerber
fkerber
(CodeLib-Manager)

Registriert seit: 9. Jul 2003
Ort: Ensdorf
6.723 Beiträge
 
Delphi XE Professional
 
#2

Re: Andere Seite im IE aufrufen...

  Alt 29. Nov 2004, 14:49
Hi!

In dem Quelltext von Swissdelphicenter wird WB.LocationURL verwendet.
Vielleicht lässt sich der die Adresse der lokalen Datei zuweisen und er lädt sie dann?


Ciao Frederic
Frederic Kerber
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#3

Re: Andere Seite im IE aufrufen...

  Alt 29. Nov 2004, 15:34
Zitat von fkerber:
Hi!

In dem Quelltext von Swissdelphicenter wird WB.LocationURL verwendet.
Vielleicht lässt sich der die Adresse der lokalen Datei zuweisen und er lädt sie dann?


Ciao Frederic
Der compiler sagt, dass der Linkenseite nichts zugewiesen werden kann...
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#4

Re: Andere Seite im IE aufrufen...

  Alt 29. Nov 2004, 15:35
TWebbrowser.Navigate2(url: String);

Ist F1 kaputt?
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#5

Re: Andere Seite im IE aufrufen...

  Alt 29. Nov 2004, 15:58
F1 ist nicht kaputt....
Code:
wb.Navigate2(getcurrentdir+'\test.htm');
Zitat von Compiler:
[Fehler] Unit1.pas(97): Die Typen der tatsächlichen und formalen Var-Parameter müssen übereinstimmen
Zitat von F1:
Delphi-Syntax:

procedure Navigate2(var URL: OleVariant); overload;
procedure Navigate2(var URL: OleVariant; var Flags: OleVariant); overload;
procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant); overload;
procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant); overload;

procedure Navigate2(var URL: OleVariant; var Flags: OleVariant; var TargetFrameName: OleVariant; var PostData: OleVariant; var Headers: OleVariant); overload;
hilft mir net wirklich weiter.

Ich lese ja den Quelltext aus einem IE fenster aus und nicht aus meiner Anwendung, also muss ich ja dem IE sagen, dass er dorthin navigieren soll, doch das funzt net so wie es soll....

hibbert
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#6

Re: Andere Seite im IE aufrufen...

  Alt 29. Nov 2004, 16:24
Delphi-Quellcode:
procedure TWebBrowser.Navigate2(var URL: OleVariant);
begin
  DefaultInterface.Navigate2(URL, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
end;
Das macht TWebBrowser bei einem Navigate2. "DefaultInterface" ist ein IWebbrowser2, und EmptyParam ist in der Unit "OleCtrls" deklariert. Also musst du nurnoch deine URL in einen OleVariant bekommen, und kannst via Interface navigieren.
Zu beachten wäre evtl. noch, dass lokale Zugriffe als URL meiste diese Form haben:
"file:///c/verzeichnis/datei.ext", und nicht "c:\verzeichnis\datei.ext", wobei ich glaube dass der IE mit beidem klar kommt.

Ein QT könnte also so aussehen (vorausgesetzt das Interface ist bereits abgeholt):
Delphi-Quellcode:
uses OleCtrls;
.
.
.
var
  url: OleVariant;
.
.
url := 'file:///c/verzeichnis/datei.ext';
WebBrowserInterface.Navigate2(url, EmptyParam, EmptyParam, EmptyParam, EmptyParam);
Und dabei habe ich noch nie mit OleVariants gearbeitet, noch nie mit Interfaces oder gar mit einem externen IE-Fenster. Das war jetzt alles nur Recherche via F1 + VCL/RTL-Sourcen wühlen...
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  Mit Zitat antworten Zitat
Benutzerbild von hibbert
hibbert

Registriert seit: 26. Aug 2003
Ort: Berlin
262 Beiträge
 
Delphi 2005 Personal
 
#7

Re: Andere Seite im IE aufrufen...

  Alt 29. Nov 2004, 16:36
ok, vielen dank, doch nun bleibt noch ein kleines Problem:
wenn ich nun die Procedure ausführe, werden alle offenen Browser angesprochen, auch mein Firefox.

Kann ich das irgnedwie auf ein Spezielles Fenster anwenden ?

thx hibbert
  Mit Zitat antworten Zitat
Benutzerbild von dizzy
dizzy

Registriert seit: 26. Nov 2003
Ort: Lünen
1.932 Beiträge
 
Delphi 7 Enterprise
 
#8

Re: Andere Seite im IE aufrufen...

  Alt 29. Nov 2004, 17:01
Mit dem Code der schweizer Kollegen holst du dir auch den HTML-Text aller offenen Browserinstanzen ab. Steht sogar im Titel .
Und in selbigem sieht man auch wie man durch alle durchgeht, und einzeln ansprechen kann. In einer ähnlichen Schleife kannst du dir dann das benötigte raussuchen. Als Suchkriterium könnte man z.B. die aktuelle URL nehmen. Die speicherst du dir dann beim Abholen der HTML-Texte für jede Instanz, und kannst dann über einen Vergleich wieder herausfinden welche der Instanzen die benötigte ist.

Okay, dann nehmen wir das MSDN noch zur Hand:
IWebBrowser2.get_LocationURL -> Damit bekommst du die aktuelle URL der aktuellen Browserinstanz raus.

Ist allerdings alles völlig ungetestet, und ich hab damit wie gesagt auch noch nix gemacht. Von daher keine 100%-Garantie .
Fabian K.
INSERT INTO HandVonFreundin SELECT * FROM Himmel
  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 23:40 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