| |
Fortgeschrittene ProgrammierungVB6 Webbrowser Control Kompatibilität! | | | Autor: HalEr | Datum: 10.07.15 17:25 |
| Hi Leute,
gelegentlich greife ich auf das Webbrowser Control zurück. Jedoch ist es bekannt, dass die OCX -egal welcher Internet Explorer Version (8 oder 9 , 10 etc) installiert ist- als IE7 unterwegs ist. Das führt aber aktuell bei vielen Seiten, die den alten Browser nicht unterstützen, zu Problemen. Gibt es einen Weg, das Problem zu lösen?
Danke für eure Hilfe
Erol
| |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: gunthard | Datum: 10.08.15 01:09 |
| Hallo Erol,
ich habe das gleiche Problem.
Hast Du schon eine Lösung gefunden?
Gunthard | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Blackbox | Datum: 10.08.15 19:56 |
| Hallo,
nein. Es gibt keine Lösung.
Das Controll neu schreiben wäre die Lösung (Internet-Api) | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Franki | Datum: 11.08.15 08:26 |
| Hallo,
die Frage wäre wozu genau du das Webbrowser Control brauchst, bzw. was du aus der aufgerufenen Seite für Informationen benötigst.
Dir geht es ja mit Sicherheit nicht darum eine Webseite innerhalb deiner Anwendung nur für den User anzuzeigen, da könntest du die Seite auch einfach im Standardbrowser des Rechners öffnen lassen.
Wenn es darum geht Informationen aus der Seite zu erhalten gibt es auch andere Möglichkeiten je nachdem um was für eine Seite es sich handelt. Z.B. Quelltext selbst analysieren ohne Browser, direkt auf die dahinterliegende Datenbank zugreifen, evtl. verfügbare APIs zu nutzen usw. usw. Hängt alles davon ab was möglich ist bzw. wozu du berechtigt bist. Denn ein Browser ist ja nur für die optische Dasrtellung für den Besucher der Seite da.
Beschreibe doch mal etwas genauer was du machen möchtest, bzw. was bei welchen Seiten nicht funktioniert.
Gruß,
Frank
| |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: gunthard | Datum: 11.08.15 09:00 |
| Hallo Frank,
danke für Deine Antwort.
Früher habe ich die Entfernung zwischen 2 Orten aus Google extrahiert:
Von="Kielortallee3, 20144 Hamburg"
Nach="Muehlenbrook 1, 23847 Steinhorst"
Browser.Navigate "http://maps.google.com/maps?f=d&hl=de&saddr=" & Von & "&daddr=" & Nach & "&output=html"
Über Browser.Document konnte ich dann an alle für mich wichtigen Daten kommen.
Das funktioniert nicht mehr. Meldung Browser nicht aktuell.
Was kann ich machen?
Gruss
Gunthard
| |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 13.08.15 18:45 |
| Die Lösung heißt WebKitCairo, klappt wunderbar! Hab das auch in meinen alten VB6 Projekten drinnen und sogar schon auf Windows 10 erfolgreich getestet. Der User Agent kann hier auch frei festgelegt werden. Somit sind Meldungen das der Browser nicht aktuell sei oder nicht die nötigen Funktionen hätte, hinfällig.
Hier der Link zum Download : http://www.vbrichclient.com/Downloads/WebKitCairo.7z
Gruß Andreas
Beitrag wurde zuletzt am 13.08.15 um 18:46:21 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: gunthard | Datum: 13.08.15 19:13 |
| Hallo Andreas,
danke für den Tipp.
Ich habe mir webkit mal angesehen, komme damit aber überhaupt nicht klar.
Kannst Du mir mal einen Code-Schnipsel zeigen, um z.B. auf www.maps.google.de zuzugreifen.
Was muß ich als Verweis /Komponenten einbinden?
Gruss Gunthard | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 13.08.15 20:42 |
| Ja, ich mach dir mal was fertig... | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: gunthard | Datum: 13.08.15 20:49 |
| @Callimero: da freue ich mich sehr - vielen Dank | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: cklaus | Datum: 19.08.15 17:40 |
| Hi zusammen,
ich habe das gleiche Problem und auch ich komme nicht ganz mit der Variante von deinem Link zurecht. WebKit.dll lässt sich bei mir auch nicht als Steuerelement einbinden.
PS und ich bräuchte auch das Browser Fenster als Ausschnitt innerhalb meines Programms
Wäre über jede Hilfe dankbar.
Viele Grüße
Christian | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: cklaus | Datum: 20.08.15 08:23 |
| Hallo Gunthard,
Danke für deine Antwort, aber in dem Link den du geschrieben hast wird beschrieben wie ich Informationen rausbekomme ohne dass die Karte angezeigt wird, oder habe ich das falsch verstanden?
Ich bräuchte in meinem Programm visuell einen Ausschnitt der Google Maps Karte.
Viele Grüße | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: gunthard | Datum: 22.08.15 09:44 |
| Hallo Klaus,
das ist richtig: Es wird nur der HTML-Code der entsprechenden URL ausgelesen und nicht die Website dargestellt.
Callimero hat am 13.8.2015 geschrieben, dass er uns ein Beispiel zu WebKitCairo geben will.
Hoffe, dass er uns nicht vergessen hat.
Gunthard | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 01.09.15 00:07 |
| Sorry hab's tatsächlich vergessen. Ich mach morgen Abend was fertig. Ich kann euch das webkit wirklich empfehlen. Zumal es unabhängig vom Betriebssystem ist. Wie ich schon sagte, funktioniert das auch auf Windows 10 bzw. Server 12. So muss man nicht alte vb6 Projekte vollständig neu zu programmieren nur weil der Webbrowser nicht funktioniert.... | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 01.09.15 20:00 |
| So, wie versprochen hab ich jetzt schnell mal einen MiniBrowser mit dem WebKitCairo erstellt und Ihn samt aller benötigten Dateien auf Dropbox hochgeladen.
Um das Webkit in euren vorhandenen VB6 Projekten nutzen zu können, müsst Ihr diese Schritte unternehmen:
1. den Ordner Webkit in das entsprechende Projektverzeichnis kopieren
2. erstellt einen Verweis auf WebKit.tlb im Verzeichnis Webkit
3. fügt das Benutzersteuerelement ctlWebKit.ctl zu eurem Projekt hinzu (liegt im Hauptverzeichnis)
Das sind schon die wesentlichen Schritte um das Control nutzen zu können.
Als nächstes müsst Ihr nur noch die vorhandenen Webbrowser Controls ersetzen und am besten so benennen wie zuvor. Das erspart Euch zumindest für den Namen das Suchen und Ersetzen.
Glücklicherweise sind die meisten Befehle identisch mit denen vom Webbrowser Control, nur einige wenige Befehle müssen ersetzt werden, bspw. Navigate mit NavigateToUrl; Refresh mit Reload...
Ein kleiner Bug ist vorhanden. Und zwar funktioniert die Visible Eigenschaft wohl nicht bzw. nicht richtig. Übrigens auch dann nicht wenn man das Control in einen Container setzt und diesen ausblendet...
Ich hab das Problem so gelöst : ctlWebKit.Move 0, 0, 0, 0
Also die Höhe und Breite auf 0.
Im Control ist auch ein "Inspector" integriert, dieser ermöglicht z.B. das Auslesen und inspizieren von HTML Tags usw. Ist dieser eingeblendet, befindet sich am untersten Rechten Rand das Settings Menü. Darüber könnt Ihr z.B. zur Laufzeit den UserAgent ändern oder gar selbst einen definieren. Das geht natürlich auch direkt im Quelltext. Überprüfen kann man das dann hier : wieistmeinuseragent
Solltet Ihr Fragen oder Probleme haben, dann schreibt es einfach hier ins Forum.
Gruß Andreas
Beitrag wurde zuletzt am 01.09.15 um 20:11:34 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: cklaus | Datum: 03.09.15 20:25 |
| Hallo Andreas,
erstmal vielen Dank für deine Bemühungen, aber leider funktioniert das bei mir nicht. Ich kann schon nicht den Verweis einfügen. Allerdings nutze ich auch VB.NET. Evtl. liegt es daran?
Viele Grüße | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: gunthard | Datum: 03.09.15 21:05 |
| Hallo Andreas,
leider funktioniert Dein VB6 Projekt bei mir nicht.
Gunthard | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 03.09.15 21:54 |
| @cklaus Na sicher... Wir befinden uns hier auch im vb6 Forum...
Beitrag wurde zuletzt am 03.09.15 um 22:00:35 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 03.09.15 21:58 |
| @gunthard Fehlermeldung? Oder sonstige Hinweise wären hilfreich. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 04.09.15 12:01 |
| @cklaus Versuch es doch mal mit dem GoogleWebKit für VBNet...
@All VB6 Users
Ich hab mal das Webkit neugepackt und die "richtige" Type Libary ins Hauptverzeichnis gelegt.
1. Den WebKit Ordner ins Projektverzeichnis kopieren
2. Einen Verweis auf die WebKit.tlb im Hauptverzeichnis erstellen
!!!ACHTUNG!!! Es muss sich um die WebKit 536 Type Libary handeln
NICHT die WebKit 534++ Type Libary verwenden, => Programmabsturz
3. Das Benutzersteuerlement ctlWebKit.ctl zu eurem Projekt hinzufügen, liegt ebenfalls im Hauptverzeichnis
Zur Sicherheit habe ich noch eine !RegSvr32.bat im WebKit-Ordner hinzugefügt, die notfalls alle DLL Dateien de-/registriert...
Danach müsst Ihr wie schon gesagt nur das Webbrowser Control und die Befehle ersetzen und schon hab Ihr einen HTML4/5 kompatiblen Browser.
Download von Dropbox
Gruß Andreas
Beitrag wurde zuletzt am 04.09.15 um 12:06:10 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: gunthard | Datum: 04.09.15 12:15 |
| Hallo Andreas,
ich habe mit RegSvr32.bat [1] die Registrierung vorgenommen und dann WebKitCairo.exe gestartet.
Es werden ganz kurz Teile der Website angezeigt. Dann stürzt das Prog ab. Das gilt auch für WebKitCairo.vbp
Gunthard
Beitrag wurde zuletzt am 04.09.15 um 12:16:36 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 04.09.15 16:02 |
| Also bei mir und auch auf allen Testsystemen läuft das ganze ohne Probleme...
Versuch mal VB6 als Admin (rechtsklick auf das Verknüpfungssymbol von VB6 und Eigenschaften wählen -> Auf der Registerkarte Verknüpfung den Button "Erweitert" anklicken und im darauf folgenden Fenster den Punkt "als Admin ausführen" auswählen) auszuführen und eventuell auch den Kompatibilitätsmodus zu aktivieren, jeweils in verschiedenen Kombinationen...
Alternativ können wir auch gerne ne Fernwartungssitzung vereinbaren... | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 05.09.15 16:05 |
| Hab vergessen die WebKit 536 Type Libary mit in die !RegSvr32.bat zu schreiben. Also einfach das WebKit.tlb mit regsvr32 registieren, dann sollte es gehen... | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: gunthard | Datum: 05.09.15 16:55 |
| Zeile 91: Klasse WebKitCairo.ctlWebKit des Steuerelements ctlWebKit1 war keine geladene Steuerelementklasse. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: webers | Datum: 23.12.15 20:24 |
| Leider kann man sich damit nicht in Facebook einloggen (Cookies werden nicht akzepiert), und Olaf Schmidt scheint die Komponente nicht mehr zu warten.
Katastrophe bei mir.
Eine meiner Softwares baut darauf auf.
Und ich bin alternativlos.
Was für ein furchtbares Gefühl. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 11.01.16 14:41 |
| @webers
Ich hab das eben mal ausprobiert. In der Tat sind die Cookies deaktiviert, wenn Du aber den User Agent (bspw. Anroid Tablet) änderst, dann kannst Du dich sehr wohl auf Facebook einloggen. Vielleicht reicht das ja für deine Anwendung völlig aus. Ich würde das dann für diese Webseite entsprechend im Quellcode festlegen. Also eingegebene Adresse prüfen und dann eben den User Agent ändern.
Ich werde mal das Control testen ob und wie man die Cookies annehmen kann. Falls ich eine Lösung finde, poste ich sie hier im Forum...
Edit sagt: Ich hab bereits eine Lösung gefunden. Mit dem Safari WebKit funktioniert das ganze schon mal. Nur stürzt nach dem Login der Browser ab.
Gruß Andreas
Beitrag wurde zuletzt am 11.01.16 um 14:46:11 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: webers | Datum: 03.02.16 22:33 |
| Ist das ein anderes Control oder der WebBrowser von Olaf Schmidt??? | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Posbis | Datum: 04.02.16 15:54 |
| Man kann den Compatibilitätsmodus des Controls einstellen, dazu muss für die exe, die das control verwendet ein Regeintrag erstellt werden, z.B.:
[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULATION]
"myexe.exe"=dword:00002328
gibt z.B. folgende Werte:
• 9999 (0x270F) - Internet Explorer 9. Webpages are displayed in IE9 Standards mode, regardless of the !DOCTYPE directive.
• 9000 (0x2328) - Internet Explorer 9. Webpages containing standards-based !DOCTYPE directives are displayed in IE9 mode.
• 8888 (0x22B8) -Webpages are displayed in IE8 Standards mode, regardless of the !DOCTYPE directive.
• 8000 (0x1F40) - Webpages containing standards-based !DOCTYPE directives are displayed in IE8 mode.
• 7000 (0x1B58) - Webpages containing standards-based !DOCTYPE directives are displayed in IE7 Standards mode
siehe hier:
https://msdn.microsoft.com/en-us/library/ee330730%28VS.85%29.aspx?f=255&MSPPError=-2147217396#browser_emulation
Beitrag wurde zuletzt am 04.02.16 um 15:56:35 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: webers | Datum: 05.02.16 21:29 |
| Posbis, das bezieht sich aber nur auf den InternetExplorer, und nicht auf den WebkitBrowser von Olaf Schmidt, oder? | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 06.02.16 20:53 |
| @webers
Ich nutze das WebKitCairo von Anton Pitak... (www.softpae.com)
Der Beitrag von Posbis ist zwar richtig, führt aber in der Regel nicht zum gewünschten Ergebnis. Da es sich nur auf den IE anwenden lässt und trotzdem buggi ist und bleibt.
Ich habe lange Zeit auch nach einer brauchbaren Lösung für alte VB6 Projekte gesucht und bin eben bei diesem Control von Anton Pitak hängengeblieben. Zwar ist dieses Control nicht ganz frei von Bugs aber die meisten kann man ganz einfach umschiffen und es bietet mehr Möglichkeiten als das WebBrowser Control von MS...
Beitrag wurde zuletzt am 06.02.16 um 21:05:43 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: webers | Datum: 07.02.16 11:49 |
| Danke.
Ich bin in 2 Monaten mit der .NET-Version meiner Software fertig.
Ich dachte ja, dass ich mit .NET sofort einen brauchbaren Browser habe, aber selbst da musste ich voll lange rumsuchen, um einen guten zu finden.
Nach tagelangem Ausprobieren bin ich beim EO.Browser für 500 Ocken hängengeblieben. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 07.02.16 19:03 |
| Ja der IE ist bleibt schei... Hoffentlich ändert sich das irgendwann einmal mit dem Edge oder wie der in W10 heißt. Vielleicht kann das ja hier schon jemand beantworten. Bislang bin ich noch nicht dazu gekommen unter W10 zu testen, da ich auf das BS keinen Bock habe...
Gruß Andreas | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: webers | Datum: 10.02.16 20:54 |
| Windows 10 ist super. Wie Windows 7, nur besser.
Keinerlei Umstiegsprobleme mit VB6 oder der IDE.
Der Browser ist genauso @!#$ wie alle vorherigen. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: Callimero | Datum: 11.02.16 19:33 |
| Hier noch ein Link zu einem alternativen kostenlosen Webkit für VB.Net :
http://webkitdotnet.sourceforge.net/index.php
Beitrag wurde zuletzt am 11.02.16 um 19:36:21 editiert. | |
Re: VB6 Webbrowser Control Kompatibilität! | | | Autor: webers | Datum: 29.03.16 22:30 |
| Hmm, ich finde es auf jeden Fall nicht gut, dass Olaf Schmidt den Webbrowser einfach aufkündigt. Es war immer eine kostenfreie Software (wofür ich wirklich dankbar bin), aber es wäre gut gewesen, offiziell kundzutun, dass der Browser nicht mehr gewartet wird, damit man auf Alternativen ausweichen kann (in meine Augen nur VB.NET und entsprechende Webbrowser-Drittanbieter).
Beitrag wurde zuletzt am 29.03.16 um 22:32:14 editiert. | |
| Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
|
|
sevOutBar 4.0
Vertikale Menüleisten á la Outlook
Erstellen von Outlook ähnlichen Benutzer- interfaces - mit beliebig vielen Gruppen und Symboleinträgen. Moderner OfficeXP-Style mit Farbverläufen, Balloon-Tips, u.v.m. Weitere InfosTipp des Monats Access-Tools Vol.1
Über 400 MByte Inhalt
Mehr als 250 Access-Beispiele, 25 Add-Ins und ActiveX-Komponenten, 16 VB-Projekt inkl. Source, mehr als 320 Tipps & Tricks für Access und VB
Nur 24,95 EURWeitere Infos
|