![]() |
Darstellungsfehler im Twebbrowser
Hallo,
ich verwende schon seit Jahren den TWebbrowser (und Delphi 7). Nun mehren sich aber immer mehr Internet-Seiten (und damit die Beschwerden der Nutzer), die nicht korrekt angezeigt werden. Z.B. wird die Seite ![]() Hat jemand eine Idee, wie ich das korrigieren kann oder worann da liegt? |
AW: Darstellungsfehler im Twebbrowser
Eine andere Browserkomponente verwenden?
Das Ding, welches da einbebunden wird, ist gern mal eine ältere IE-Version, aber vorllem ist diese in ihrer ganz oder Funktion eingeschränkt und auch die Sicherheitseinstellungen sind etwas strenger. - JavaScript - CSS usw. Und vorallem ohne JavaScript, Ajax und Co. läuft ja heutzutage nix mehr. PS: Es gab hier vor Kurzem schonmal einen Thread, wo es darum geht, wie uund wo man eventuell etwas an der verwendeten IE-Version rumschrauben kann. |
AW: Darstellungsfehler im Twebbrowser
Hallo,
danke für Deine Antwort. Ich glaube du meint da hier: ![]() Irgendwie muss es doch möglich sein, mit Delphi Webseiten vernünftig anzeigen zu lassen? |
AW: Darstellungsfehler im Twebbrowser
|
AW: Darstellungsfehler im Twebbrowser
- Bitte löschen -
|
AW: Darstellungsfehler im Twebbrowser
Hallo,
ich habe nach viel rumprobieren selber eine Lösung gefunden, die herforragend funktioniert. Eigentlich sollte jeder, der noch TWebbrowser benutzt, standartmäßig SetWebbrowserMode(11,'MeineAnwendung.exe'); setzen. Dann werden die Seiten perfekt dargestellt. Bitte nicht vergessen, dass dazu Admin-Rechte nötig sind! Übrigens: Auch wenn kein Internetexplorer 11 installiert ist, so führt der Aufruf SetWebbrowserMode(11) dennoch zum Erfolg, da dann der nächst-niedrigere Internetexplorer verwendet wird. Funktioniert sowohl bei 32Bit als auch bei 64Bit, da Windows automatisch umleitet.
Delphi-Quellcode:
Beispielaufruf:
function SetWebbrowserMode(Mode: integer; AppName: string = ''):boolean;
const REG_KEY = 'SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION'; var Reg: TRegistry; Value: Integer; Erfolg:boolean; begin Erfolg:=false; if AppName = '' then AppName := ExtractFileName(Application.ExeName); Case Mode of 7 : Value := $1B58; 8 : Value := $22B8; 9 : Value := $270F; 10 : Value := $2AF7; 11 : Value := $2EDF; end; Reg := TRegistry.Create(KEY_ALL_ACCESS); try Reg.RootKey := HKEY_LOCAL_MACHINE; if Reg.OpenKey(REG_KEY, True) then begin Reg.WriteInteger(AppName, Value); Reg.CloseKey; erfolg:=true; end; finally Reg.Free; Result:=Erfolg; end; end;
Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
begin if not SetWebbrowserMode(11,'MeineAnwendung.exe')then showmessage('Sie haben keinen Schreibzugriff auf die Registrierungsdatenbank. Bitte informieren Sie Ihren Administrator'); end; |
AW: Darstellungsfehler im Twebbrowser
Da wird intern nichts anderes gemacht als in
![]() Die Registry sollte durch den Installer geändert werden, Du musst den Eintrag nur einmal hinzufügen und nicht jedesmal. |
AW: Darstellungsfehler im Twebbrowser
Hi,
klar, durch die ![]() Klar ist auch, dass dies nur bei der Installation durch den Installer gamacht werden muss/sollte. Meine Anwendung ist aber bereits seit Jahren beim Kunden installiert. Die Updates verteile ich ohne Installer - sondern nur die Exe. Deshalb lasse ich die Exe einmal prüfen, ob die Einstellung schon erfolgt ist. Wenn nicht biete ich eine Taste, die dann die obige Routine ablaufen lässt. Aber trotzdem vielen Danke für Deine berechtigten Hinweise. |
AW: Darstellungsfehler im Twebbrowser
|
AW: Darstellungsfehler im Twebbrowser
Ich hab solche Probleme auch mit Chromium embedded gelöst und parallel/alternativ die Anzeige im externen Standard-Browser.
Nja, zuletzt nutzten alle den Externen und wir bauten Chromium embedded wieder aus (auskommentiert und DLLs entfernt) und stattdessen ist der interne TWebBrowser nur noch als teilweise funktionierendes Notfallsystem drin, falls der Externe mal rumzickt. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz