AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Sonstige Fragen zu Delphi Delphi WebBrowser im Pagekontrol mit Tabs = konflikt mit javascript
Thema durchsuchen
Ansicht
Themen-Optionen

WebBrowser im Pagekontrol mit Tabs = konflikt mit javascript

Offene Frage von "gallstone"
Ein Thema von gallstone · begonnen am 7. Mär 2007
Antwort Antwort
gallstone

Registriert seit: 27. Jul 2005
34 Beiträge
 
#1

WebBrowser im Pagekontrol mit Tabs = konflikt mit javascript

  Alt 7. Mär 2007, 15:19
Hallo Leute ich habe hier folgende proceduren die mir einen WebBrowser ermölichen welcher in Tabs arbeitet. Ich brauche dies als Funktion in einem Programm.

Delphi-Quellcode:

//damit kein IE Fenster bei externem link aufpopt.

procedure TForm1.NewWindow(Sender: TObject;var ppDisp: IDispatch; var Cancel: WordBool);
var
  Tabsheet: TTabsheet;
  Browser: TWebBrowser;
begin
  //Neues TabSheet mit WebBrowser erstellen
  Taberzeugen(nil);
  //Aktives TabSheet finden
  TabSheet:= Form1.PageControl1.ActivePage;
  //Anfrage umleiten (neue seite im neuen webbrowserdentseranzeigen)
  ppDisp:= (PageControl1.ActivePage.Controls[0] as TWebBrowser).DefaultInterface;
end;

procedure TForm1.Taberzeugen(Sender: TObject);
var
  NewTab : TTabSheet; //variable, die unser neues Tabsheet seinwird
  NewWeb : TWebBrowser;//auf dem tabsheet wird dann diesesbrowserfenster liegen, beide werden zur laufzeit erzeugt
begin
  //TabSheet erstellen
  NewTab:= TTabSheet.Create(Form1.PageControl1);
  //TabSheet ist sichtbar
  NewTab.Visible := True;
  //Beschriftung übergeben
  NewTab.Caption := '';
  //TabSheet an das PageControl übergeben
  NewTab.PageControl := Form1.PageControl1;
  //Aktive Seite des PageControls auf das gearde erstellt TabSheetsetzen
  Form1.PageControl1.ActivePage:= NewTab;
  //neues Browser Objekt erstellen
  NewWeb:=TWebBrowser.Create(NewTab);
  //Browser Objekt an das TabSheet übergeben
  TWinControl(NewWeb).parent := NewTab;
  //Browser Ausrichtung festlegen
  NewWeb.Align:= alClient;
  //ggf. weitere Ereignisse für das neue WebBrowser Objektfestlegen
  NewWeb.OnNewWindow2:= NewWindow;
  //WebBrowser sichtbar
  NewWeb.Visible := True;
end;
und schließlich startet das ganze mit

Delphi-Quellcode:
  Taberzeugen(nil);
  (PageControl1.ActivePage.Controls[0] as TWebBrowser).Navigate(startseite);
das klappt alles prima, surfen geht eigentlich problemlos.

viele seiten arbeiten aber mit javascript und es wäre schön wenn mein browser dies auch unterstützen würde. (man kann in den IE sicherheitsregeln auch java abschalten aber das gefäfllt mir nicht)
http://www.rhoen.de/cgi-bin/WebObjec....1.2.1.1.1.1.0

auf dieser seite kann man sich bilder vergrößern lassen und es popt ein fenster auf, das macht mein browser in einem neuen tab. wenn nun aber der nutzer auf schließen klickt schließt sich normaler weise das fenster. bei mir aber TWebBrowser auf PageControl1.ActivePage.Controls[0]. so das die aktive seite nun blank ist. damit schießt sich mein proggie bei jeglicher eingabe ab mit der bemerkung "fenster-handle des ole-objekts nicht verfügbar."

wie kann ich das abfangen? das dann in solchen fällen gleich das ganze tab schließen kann. ohne das der Nutzer eine eingabe machen kann. normal würde ich ja einfach auf die komponente klicken und in den ereignissen nachschaun. aber das geht hier ja nicht.

ich hoffe mir kann einer helfen.
danke im vorraus.

mfg
  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 22:46 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