Entw.: Windows-Client und WebApp (2)

In einigen Firmen hat sich der Internet Exploxer als Standard-Browser etabliert. Andere Browser werden in einer solchen IT-Umgebung nicht gern gesehen oder dessen Betrieb wird verhindert. Da in den neueren Versionen vom Internet Explorer immer mehr vom HTML5-Standard implementiert wird, ist seine Verwendung in einem Windows-Client-Programm eine mögliche Alternative, um WebApp's einzubinden.

Der Internet Exploxer ist Bestandteil des Windows-Betriebssystems. Seine gesamte Funktionalität wird über die DLL SHDocVw gesteuert. In der Programmierumgebung RAD Studio XE2/XE3 kann die IE-Funktionalität über die VCL-Komponente TWebBrowser in eine bestehende Applikation eingebunden werden.

Folgendes ist zu tun, damit man der TWebBrowser-Komponente korrekt arbeiten kann:

  • → Property Silent=True setzen, damit nicht bei jedem JavaScript-Fehler die Meldungen hintereinander in einzelnen Popup-Fenster angezeigt werden.
  • → Property User Agent setzen, damit der Browser vom Host oder Proxy korrekt identifiziert wird, z.B.

    self.SetUserAgent('Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; WOW64; Trident/5.0)');

    oder (urlMon)

    UrlMkSetSessionOption(URLMON_OPTION_USERAGENT, PAnsiChar(l_sAnsiStr), Length(l_sAnsiStr), 0);

    Obige Änderung kann hier getestet werden unter.
  • → Damit der eingebettete IE-Browser fehlerfrei mit CSS arbeitet, sind Registry-Einträge notwendig. Die folgende Angabe {XYZ_Application} ist durch den richtigen Programmnamen zu ersetzen.
    Bei einer Win32-Version:

    HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
    Key: {XYZ_Application}.exe
    Decimal Value: 9999

    Bei einer Win64-Version:

    HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Internet Explorer\MAIN\FeatureControl\FEATURE_BROWSER_EMULATION
    Key: {XYZ_Application}.exe
    Decimal Value: 9999