TWebbrowser
Hi ich hab ein Problem mit dem TWebbrowser und zwar sagt Delphi laut Registry das die Version "9.11.9600.17041" verwendet wird.
Wenn ich aber den "echten" IR starte, steht dort die Version "11.0.96.00.17107" Wie kann das sein und wie kann ich Delphi die richtige Version mitgeben? Hauptgrund ist dieser hier " Internet Explorer verfügt über eine Kompatibilitätsansicht (auch Kompatibilitätsmodus genannt), die Auswirkungen darauf hat, wie manche Websites angezeigt werden. Ist die Kompatibilitätsansicht für google.com aktiviert, kann es bei einigen Google-Produkten zu Anzeigefehlern kommen, zum Beispiel bei Gmail, Google+ oder Google Maps. Wir empfehlen daher, google.com aus der Liste der Websites mit aktivierter Kompatibilitätsansicht zu entfernen. " Laut original IE ist die Kompatibilitätsansicht deaktiviert, allerdings im TWebbrowser erhalte ich genau diesen Fehler, als wenn dieser die Kompatibilitätsansicht verwendet. |
AW: TWebbrowser
TWebBrowser ist ein Warper um das WebBrowser ActiveX-Control und nicht um den standalone Browser.
Meht Features bieten andere embedded Browser Komponenetn wie z.B. chromium embedded oder TGeckoBrowser/Gecko SDK for Delphi |
AW: TWebbrowser
Das bedeutet das ich das Problem mit dem TWebbrowser nicht beheben kann, sondern chromium embedded installieren sollte?
|
AW: TWebbrowser
Delphi XE6 benutzt eine aktuellere Version des Controls. Vorher kann man zwar irgendwelche Registryeinstellungen setzen, aber erstens funktioniert das weniger gut und zweitens müsste man es global auf dem Zielrechner machen. Das wiederum kann dann mit anderen Programmen Probleme machen.
Wenn du auf aktuelle Features angewiesen bist, ist Chromium embedded derzeit die sinnvollste Variante. Mit dem Gecko Control habe ich nur schlechte Erfahrungen gemacht. |
AW: TWebbrowser
XE6 habe ich leider nicht.
Dann werde ich es mal mit Chromium embedded probieren. |
AW: TWebbrowser
Vom Chromium bin ich persönlich enttäuscht, es stürzt gerne unkontrolliert ab und Du hast viele Features (SSO etc.) nicht; allerdings hält sich der IE nicht 100% an die CSS Normen, damit kann ich aber leben. Der EmbeddedWB läuft m.A. am besten, musst Du aber letztendlich selbst entscheiden.
EmbeddedWB kapselt den IE, allerdings musst Du dem Embedded-Control sagen, welche IE Version er emulieren soll. Das definierst Du in der Registry: ; 10000 = Version 10 ; 9000 = Version 9 ; 8000 = Version 8 ; 0 = Aktuell installierte HKCU\Software\Microsoft\Internet Explorer\Main\FeatureControl\FEATURE_BROWSER_EMULA TION Siehe http://msdn.microsoft.com/en-us/libr...(v=vs.85).aspx |
AW: TWebbrowser
Zitat:
|
AW: TWebbrowser
Zitat:
Angefangen bei der OH, über das HelpInsight und sonstige Programme. Man sollte dann also auch beachten, daß dann eventuell irgendwo etwas nicht mehr richtig laufen kann. Zitat:
Das ist beim Chromium nicht so. |
AW: TWebbrowser
Nein es gilt (natürlich) nicht für alle, siehe MSDN. Du musst schon die EXE angeben, die es betrifft, anders macht es doch keinen Sinn.
Code:
Statt contoso.exe musst Du halt Deine EXE angeben, dahinter als DWord die IE Version, die emuliert werden soll:
HKEY_LOCAL_MACHINE (or HKEY_CURRENT_USER)
SOFTWARE Microsoft Internet Explorer Main FeatureControl FEATURE_BEHAVIORS contoso.exe = (DWORD) 00000000 10000 = Version 10 9000 = Version 9 8000 = Version 8 0 = Aktuell installierte Wie in einem anderen Thread geschrieben habe ich 2 Tage mit Chromium rumgeeirt und es letztendlich (leider!) gelassen. Zu unberechenbar, zumindest im Moment. |
AW: TWebbrowser
Ahhh ok, hätte dann besser mal ins MSDN reingucken sollen. :oops:
Na dann isses ja OK. Was ist denn der Standardwert? Bei mir gibt's da keine Einträge und wenn 0 = aktuelle Version heißt, dann würde ich jetzt vermuten daß ich es durch einen Eintrag nicht höher einstellen kann. :gruebel: |
AW: TWebbrowser
Zitat:
|
AW: TWebbrowser
Es kann leider nicht an Flash liegen, weil es schon im Constructor crasht, also noch lange bevor ich aktiv etwas im Programm machen könnte. Ist allerdings die CEF3, vielleicht sollte ich es mal mit der CEF1 probieren? Gibt es da etwas für XE6?
|
AW: TWebbrowser
Zitat:
Höher als die Version, die auf dem System installiert ist? Wie soll das den gehen? |
AW: TWebbrowser
Ja, daß heißt dann doch aber auch, daß diese Registry-einträge nutzlos sind, zumindestens bezüglich zu alter TWebBrowser-IE-Versionen, denn man kann darüber dann doch nur Downgraden?
|
AW: TWebbrowser
Es gibt wie ich schon geschrieben hatte eine weitere globale Einstellung, mit der man auch upgraden kann, wenn man das alte Control nutzt. Jedoch wie schon geschrieben erstens nicht wirklich zuverlässig und zweitens funktioniert dennoch nicht alles 100%ig.
|
AW: TWebbrowser
Zitat:
Letztendlich muss jeder selbst entscheiden, ob er wegen einer simplen Webanzeige rund 30 MByte Runtimes mit sich rumschleppen will, nur um halt einfach nicht den IE verwenden zu müssen, es aber im Endeffekt in 99% der Fälle gleich aussieht. CSS Anzeigeprobleme sind was anderes, da braucht man u.U. ne andere Runtime wie Chromium. |
AW: TWebbrowser
Zitat:
|
AW: TWebbrowser
Sei froh. ;-)
Bei dir funktioniert das, bei uns Chromium. ;-) |
AW: TWebbrowser
Touché
|
AW: TWebbrowser
@jaenicke: Gibt es die CEF1 auch für XE6? Ich habe leider nichts gefunden, würde es aber auch mal testen ob die läuft.
|
AW: TWebbrowser
Wir haben die neueste Version in unser Haupt-Package eingebunden und aktualisieren die Packages ggf. selbst. Ich kann mich zwar nicht erinnern, dass Anpassungen nötig waren, aber wenn, dann sicher nur kleine.
(Da dort glaube ich with nicht benutzt wird, der Quelltext also in der Hinsicht sauber ist, ist es auch unwahrscheinlich, dass dort mehr nötig ist als die Versions-IFDEFs zu aktualisieren. Probleme machte bei uns in den letzten Versionen abgesehen von Unitverschiebungen in Delphi selbst beim Umstieg auf neuere Versionen nur with, aber das ist ja logisch.) |
AW: TWebbrowser
Also auch die CEF3? Schade, war ein Versuch.
|
AW: TWebbrowser
Ich hab kurz geschaut, beide sind für XE5 angepasst worden. Es gibt (in CEF1) nur eine relevante Änderungen bei uns:
ceflib.pas, in TCefCustomStreamReader.Seek:
Delphi-Quellcode:
Und in der .inc Datei ist natürlich XE6 neu eingetragen. Alles andere funktioniert einfach so mit XE6.
Result := FStream.Seek(offset, whence);
// ersetzt durch: Result := FStream.Seek(offset, TSeekOrigin(whence)); |
AW: TWebbrowser
Das es bei der Initialisierung knallt denke ich, dass sich da 2 Speicherbereiche beißen, also zwei Dinge auf denselben Bereich zugreifen. Ein leeres Projekt funktioniert, ein bestehendes nicht. Natürlich habe ich der Reihe nach alles rausgeworfen, komme dem Problem aber einfach nicht auf die Spur. Es sind nur Standard-Komponenten von TMS, Raize und die eigenen.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:29 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