AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TurboDelphi und TMozillaBrowser

Ein Thema von Schwedenbitter · begonnen am 4. Dez 2009 · letzter Beitrag vom 6. Dez 2009
Antwort Antwort
Seite 1 von 2  1 2      
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#1

TurboDelphi und TMozillaBrowser

  Alt 4. Dez 2009, 22:07
Hallo,

wie der Titel bereits beschreibt, nutze ich TurboDelphi. Jetzt habe ich bereits mit Interesse zur Kenntnis genommen, dass es neben TWebBrowser auch eine Komponente namens TMozillaBrowser gibt. Ich habe hier im Forum mittels der Suche bereits herausgefunden, dass es (theoretisch) genügt, sich einfach z.B. die Datei MozillaControl1712.exe (oder füher) zu besorgen und zu installieren. Anschließend habe man in der Gruppe ActiveX die Komponente.

Leider klappte das nicht. Ich vermute, dass es daran liegt, dass man bei TurboDelphi keine Komponenten Installieren darf. Oder muss das in ein ganz bestimmtes Verzeichnis? Ich habe kein Problem damit, auf die Komponente zur Entwurfszeit zu verzichten und diese zur Laufzeit anzulegen. Nur habe ich leider auch keine Unit gefunden, in der TMozillaBrowser drin steht. Und die Suche hier hat mir auch nicht geholfen.

Kann mir jemand einen Tipp geben?

TWebBrowser kann bestimmte Seiten nicht so darstellen, wie ich sie brauche. Daher wollte ich mal die Alternative von Mozilla probieren. Scheitere aber schon am Finder derselben ...

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat
mkinzler
(Moderator)

Registriert seit: 9. Dez 2005
Ort: Heilbronn
39.858 Beiträge
 
Delphi 11 Alexandria
 
#2

Re: TurboDelphi und TMozillaBrowser

  Alt 4. Dez 2009, 22:49
Hier findest du die Wrapper-Unit
http://www.delphipraxis.net/internal...=934928#934928
Markus Kinzler
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#3

Re: TurboDelphi und TMozillaBrowser

  Alt 4. Dez 2009, 23:08
Danke! Jetzt lässt es sich kompilieren.

Jetzt habe ich aber das Problem, dass ich bei einem Navigate('irgendwas'); immer die Fehlermeldung "Browser is not in a valid state" bekomme. Ich habe sowohl im Forum als auch bei einer Suchmaschine nachgesehen. Die vermeintliche Lösung, die Mozilla ActiveX Control zu installieren klappt bei mir nicht. Die habe ich schon installiert!

Oder muss das in ein ganz bestimmtes Verzeichnis?
Und wie sieht es dann später aus, wenn ich das Programm auf einem anderen Rechner laufen lassen möchte?
Da wurde ich aus den Suchergebnissen auch nicht wirklich schlau, denn das Installieren der Control scheint es nicht allein zu sein.

Ich habe auch den Code aus der Demo mit eingebaut:
Delphi-Quellcode:
Implementation

{$R *.dfm}

Procedure TFMain.BtnOpenClick(Sender: TObject);
Begin
   With TMozillaBrowser.Create(FMain) Do
      Navigate('www.delphipraxis.net');
End;

Initialization // <- das und
OleInitialize(nil);

Finalization // <- das meine ich
OleUninitialize;

End.
Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#4

Re: TurboDelphi und TMozillaBrowser

  Alt 4. Dez 2009, 23:16
Zitat von Schwedenbitter:
Jetzt habe ich aber das Problem, dass ich bei einem Navigate('irgendwas'); immer die Fehlermeldung "Browser is not in a valid state" bekomme. Ich habe sowohl im Forum als auch bei einer Suchmaschine nachgesehen.

Ich habe auch den Code aus der Demo mit eingebaut:[delphi]Implementation ..
Was ist wenn du auch den Parent für das Control zuordnest? Der IE Funktioniert z.B. nur vernünftig mit gültigen Fensterhandle

Zitat von Schwedenbitter:
Und wie sieht es dann später aus, wenn ich das Programm auf einem anderen Rechner laufen lassen möchte?[/b] Da wurde ich aus den Suchergebnissen auch nicht wirklich schlau, denn das Installieren der Control scheint es nicht allein zu sein.
Du mußt das ActiveX-Control auch wieder installieren. Man hat also hier eher noch einen Nachteil gegenüber TWebBrowser. Dieser ist überall verfügbar.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#5

Re: TurboDelphi und TMozillaBrowser

  Alt 4. Dez 2009, 23:31
Zitat von Bernhard Geyer:
Was ist wenn du auch den Parent für das Control zuordnest? Der IE Funktioniert z.B. nur vernünftig mit gültigen Fensterhandle
Wie geht das?
TMozillaBrowser.Parent ist vom Typ IDispatch und nicht TWinControl. Damit kann ich nichts anfangen.

Gruß, Alex
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#6

Re: TurboDelphi und TMozillaBrowser

  Alt 4. Dez 2009, 23:34
Zitat von Schwedenbitter:
Wie geht das?
TMozillaBrowser.Parent ist vom Typ IDispatch und nicht TWinControl. Damit kann ich nichts anfangen.
Liegt daran das hier das gleiche Parent-Property vom IE nachgebildet wird. Und mit dem Namen "Parent" das Parent-Property der TWinControl-Basisklasse verdeckt wird. Einfach cast nach TWinControl und schon hast du deinen passenden Parent-Typ.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#7

Re: TurboDelphi und TMozillaBrowser

  Alt 4. Dez 2009, 23:52
Zitat von Bernhard Geyer:
Einfach cast nach TWinControl und schon hast du deinen passenden Parent-Typ.
OK!
Delphi-Quellcode:
Procedure TFMain.FormCreate(Sender: TObject);
Begin
   Mozilla:=TMozillaBrowser.Create(self);
   TWinControl(Mozilla).Parent:=FMain;
End;
Jetzt bekomme ich aber eine Fehlermeldung:
Zitat:
NetscapeDispatchWnd: Firefox.exe - Fehler in Anwendung

Die Anweisung in "0x011c1b0c" verweist auf Speicher in "0x00000000". Der Vorgang
"read" konnte nicht auf dem Speicher durchgeführt werden.

Klicken Sie auf "OK", um ...
Danach kommt dann noch:
Zitat:
Exception EAccessViolation in Modul webbrwsr.dll bei 00001B0C.
Zugriffsverletzung bei Adresse 011D1B0C in Modul 'webbrwsr.dll'. Lesen von Adresse 00000000.
Kommentiere ich die Zuweisung von Parent aus, kommen die Fehler nicht.

Was mache ich denn nun wieder falsch?
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von Bernhard Geyer
Bernhard Geyer

Registriert seit: 13. Aug 2002
17.197 Beiträge
 
Delphi 10.4 Sydney
 
#8

Re: TurboDelphi und TMozillaBrowser

  Alt 5. Dez 2009, 00:19
Schau mal nach ob das Control wirklich von TWinControl abgeleitet ist. Selbst habe ich nur TWebBrowser (TEmbeddedWB) im Einsatz so das ich nur von dort auf den Code im Mozilla-Controll schließe.
Windows Vista - Eine neue Erfahrung in Fehlern.
  Mit Zitat antworten Zitat
Schwedenbitter

Registriert seit: 22. Mär 2003
Ort: Finsterwalde
622 Beiträge
 
Turbo Delphi für Win32
 
#9

Re: TurboDelphi und TMozillaBrowser

  Alt 5. Dez 2009, 10:12
Zitat von Bernhard Geyer:
Schau mal nach ob das Control wirklich von TWinControl abgeleitet ist. Selbst habe ich nur TWebBrowser (TEmbeddedWB) im Einsatz so das ich nur von dort auf den Code im Mozilla-Controll schließe.
Also:
Delphi-Quellcode:
Type
   TMozillaBrowser = Class(TOleControl)
      End;
   TOleControl = class(TWinControl, IUnknown, IOleClientSite,
      IOleControlSite, IOleInPlaceSite, IOleInPlaceFrame, IDispatch,
      IPropertyNotifySink, ISimpleFrameSite, IServiceProvider)
      End;
Muss mir das was sagen?
Alex Winzer
  Mit Zitat antworten Zitat
Benutzerbild von Matze
Matze
(Co-Admin)

Registriert seit: 7. Jul 2003
Ort: Schwabenländle
14.929 Beiträge
 
Turbo Delphi für Win32
 
#10

Re: TurboDelphi und TMozillaBrowser

  Alt 5. Dez 2009, 11:03
Du bist nicht der einzige, der TMozillaBrowser verwendet. Daher gibt es auch mehrere Themen dazu (Hier im Forum suchenTMozillaBrowser Parent).

Hättest du gesucht, wärst du auf Beiträge gestoßen, die dir zeigen, wie man TMozillaBrowser ein Parent zuweist:

Delphi-Quellcode:
Mozilla := TMozillabrowser.Create(nil);
TControl(Mozilla).Parent := FMain;
Grüße, Matze

Edit: Ich hoffe, das funktioniert so, denn ich habe es nicht getestet.
  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 17:51 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