Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi TWebbrowser URL als Parameter übergeben (https://www.delphipraxis.net/66811-twebbrowser-url-als-parameter-uebergeben.html)

G4RFiELD 4. Apr 2006 17:58


TWebbrowser URL als Parameter übergeben
 
Hallo.

Habe folgendes Problem. Wenn ich den TWebbrowser Links im Self-Formular öffnen lasse klappt das wunderbar,
allerdings werden diese ohne eigenen Taskbarbutton erstellt. Das lässt sich zwar mit "Param..." ändern, ist aber voller Bugs.

Also ist meine 2. Idee die zu öffnende URL mittels Parameter an das Programm via ShellExecute zu übergeben. #

Problem: Wie komme ich an die URL des (per rechtsmaustaste-auf-link -> in neuem Fenster öffnen) zu öffnenden Links?
Hab es mit dem ObBeforeNavigation2-Event versucht, dieser wirft mir aber leider nur die Aktuelle URL aus, sobald ich diese in neuem fenster öffnen lassen will, denn dies muss ja über OnNewWindow.. passieren.

Bin echt Ratlos...will doch nur vernünftiges öffnen eines neuen fenstern mit einer URL haben welches in einem NEUEN Browser dargestellt wird.

Für sachdienliche Hinweise wäre ich sehr dankbar.


Gruß, die kleine dicke Katze.

mkinzler 4. Apr 2006 18:17

Re: TWebbrowser URL als Parameter übergeben
 
ParamStr(1) ?

G4RFiELD 4. Apr 2006 20:50

Re: TWebbrowser URL als Parameter übergeben
 
Ja...das weiss ich auch...aber wie krieg ich die URL aus dem TWebbrowser?

Klaus01 4. Apr 2006 20:56

Re: TWebbrowser URL als Parameter übergeben
 
gelöscht- weil es Unsinn war.

Grüße
Klaus

G4RFiELD 5. Apr 2006 19:30

Re: TWebbrowser URL als Parameter übergeben
 
*push* Hat denn sonst keiner mehr ne Idee?

Klaus01 5. Apr 2006 19:57

Re: TWebbrowser URL als Parameter übergeben
 
Ein wenig gesurft und eine Menge gefunden - suchen lohnt!

http://www.swissdelphicenter.ch/en/showcode.php?id=1014

http://groups.google.de/group/borlan...4e3cf3d589b75e
http://groups.google.de/group/borlan...9b232f5148eaf1
http://groups.google.de/group/borlan...335bd680942a9b

Kannst ja mal darin stöbern, schaut recht gut aus.

Grüße
Klaus

marabu 5. Apr 2006 19:59

Re: TWebbrowser URL als Parameter übergeben
 
Herzlich willkommen in der Delphi-PRAXiS, Garfield.

Dein Wunsch lässt sich besonders leicht umsetzen, wenn du statt des WebBrowsers die erweiterte Komponente EmbeddedWebBrowser verwendest. Diese kennt bereits das Ereignis OnShowContextMenu() als published property. Der event handler bekommt das Interface IDispatch des Elements unter der Maus als letzten Parameter übergeben. Etwas aufwendiger wird es, wenn du selbst die Schnittstelle IDocHostUIHandler für deine Form implementieren willst.

Freundliche Grüße vom marabu

G4RFiELD 6. Apr 2006 16:32

Re: TWebbrowser URL als Parameter übergeben
 
Hallo.
Erstmal danke für die Tipps...hab das Programm jetzt auf TEmbeddedWB umgestellt...allerdings habe ich immernoch probleme die URL aus dem OnShowContextMenu Event auszulesen. Wenn ichs richtig verstanden habe ist due URL in der Dispatch Variable...aber wie konvertiere ich diese in einen brauchbaren URL-STRING? (ich weiss...is bestimmt ne doofe frage) :-)

marabu 6. Apr 2006 18:16

Re: TWebbrowser URL als Parameter übergeben
 
Ein möglicher Ansatz wäre:

Delphi-Quellcode:
uses
  Variants,
  StrUtils,
  MSHTML;

function ExtractLink(e: IHTMLElement): String;
begin
  if AnsiIndexText(e.tagName, ['a']) = 0 then
    Result := VarToStr(e.getAttribute('href', 0))
  else if Assigned(e.parentElement) then
    Result := ExtractLink(e.parentElement)
  else
    Result := '';
end;
Die Funktion wird mit ExtractLink(pdispReserved as IHTMLElement) aufgerufen und liefert in der gezeigten Version einen URL, wenn einer vorhanden ist und zwar auch dann, wenn es sich um einen image link handelt. Geht auch ohne Rekursion.

marabu

G4RFiELD 7. Apr 2006 15:49

Re: TWebbrowser URL als Parameter übergeben
 
Aber wo hab ich die URL in einer variablen vom Typ IHTMLElement?


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:06 Uhr.
Seite 1 von 2  1 2      

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