Delphi-PRAXiS
Seite 1 von 5  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Netzwerke (https://www.delphipraxis.net/14-netzwerke/)
-   -   Delphi Darstellungsfehler im Twebbrowser (https://www.delphipraxis.net/180919-darstellungsfehler-im-twebbrowser.html)

froschprinz 1. Jul 2014 07:55

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 www.nachrichten-leicht.de von Nachrichten-Leicht im Internetexplorer und Firefox korrekt angezeigt. Im TWebbrowser und im EmbeddedWebBrowser kommen diese aber total verschoben.

Hat jemand eine Idee, wie ich das korrigieren kann oder worann da liegt?

himitsu 1. Jul 2014 08:07

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.

froschprinz 1. Jul 2014 08:48

AW: Darstellungsfehler im Twebbrowser
 
Hallo,

danke für Deine Antwort.
Ich glaube du meint da hier:http://weblog.west-wind.com/posts/20...the-IE-Version. Ich habe es probiert, kann aber keinen Unterschied feststellen.
Irgendwie muss es doch möglich sein, mit Delphi Webseiten vernünftig anzeigen zu lassen?

mkinzler 1. Jul 2014 11:17

AW: Darstellungsfehler im Twebbrowser
 
Z.B. mit Chromium embedded
https://code.google.com/p/dcef3/

greenmile 1. Jul 2014 12:40

AW: Darstellungsfehler im Twebbrowser
 
- Bitte löschen -

froschprinz 3. Jul 2014 07:26

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:
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;
Beispielaufruf:
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;

greenmile 3. Jul 2014 08:37

AW: Darstellungsfehler im Twebbrowser
 
Da wird intern nichts anderes gemacht als in http://weblog.west-wind.com/posts/20...the-IE-Version beschrieben.
Die Registry sollte durch den Installer geändert werden, Du musst den Eintrag nur einmal hinzufügen und nicht jedesmal.

froschprinz 3. Jul 2014 09:09

AW: Darstellungsfehler im Twebbrowser
 
Hi,

klar, durch die http://weblog.west-wind.com/posts/20...the-IE-Version bin ich ja auch drauf gekommen. Ich wollte nur gleich die fertige Funktion mitliefern, falles sie mal ein anderer benötigt.

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.

greenmile 3. Jul 2014 09:13

AW: Darstellungsfehler im Twebbrowser
 
Spar Dir die Arbeit :)

http://www.delphipraxis.net/175520-e...uer-xe4-5.html

himitsu 3. Jul 2014 09:22

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 06:42 Uhr.
Seite 1 von 5  1 23     Letzte »    

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