Delphi-PRAXiS
Seite 1 von 3  1 23   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   TWebBrowser in Firemonkey (https://www.delphipraxis.net/179172-twebbrowser-firemonkey.html)

Peter-Pascal 18. Feb 2014 17:34

TWebBrowser in Firemonkey
 
Hallo,

ich wollte in einer FMX-Anwendung den TWebBrowser einbinden. Stelle fest, dass er in der Tool-Palette zwar angeboten wird, aber grau, also nicht zu verwenden ist.

Wie bekomme ich unter FMX eine Internet-Anwendung hin? Es soll nur eine Seite im Internet darstellen, keine weiteren Browser-Funktionen.

Vielen Danke.

Gruß Peter

mkinzler 18. Feb 2014 17:41

AW: TWebBrowser in Firemonkey
 
Was ist als Zielplatform eingestellt?

Peter-Pascal 18. Feb 2014 17:45

AW: TWebBrowser in Firemonkey
 
Hallo Markus,

nur Standard-Einstellung, die immer beim Öffnen einer "Firemonkey Desktop-Anwendung" auftaucht: Win32. Auch wenn ich auf Win64 ändere, tut sich nichts.

Ich wollte auch einfach erstmal nur testen, wie das funktioniert mit FMX. Bei einer VCL-Anwendung läuft es ohne Probleme.

Gruß Peter

himitsu 18. Feb 2014 17:56

AW: TWebBrowser in Firemonkey
 
Der TWebBrowser ist doch eine ActiveX-Komponente, welche in einer VCL-Komponente gekapselt ist ...
Der TWebBrowser ist doch eine VCL-Komponente, welche eine ActiveX-Komponente gekapselt ... :gruebel:


Könnte nicht da das Problem liegen?

Peter-Pascal 18. Feb 2014 18:02

AW: TWebBrowser in Firemonkey
 
ja schon, ist aber bei FMX gelistet, allerdings grau. Es gibt auch eine Hilfe zu FMX.WebBrowser.TWebBrowser.
Allerdings offensichtlich nur für iOS. Steht darunter, hatte ich nicht gelesen:oops:

Jetzt drängt sich mir aber die Frage auf, wie kann ich für Win32 oder Win64 eine Internet-Anbindung einbauen?

mkinzler 18. Feb 2014 18:55

AW: TWebBrowser in Firemonkey
 
TWebBrowser gibt es unter FMX nur für iOS und Android.

Peter-Pascal 18. Feb 2014 19:06

AW: TWebBrowser in Firemonkey
 
danke für Deine Hilfe.

Ich hatte es fast befürchtet. Jetzt frage ich mich nur, wie ich mit Firemonkey eine Webseite anzeigen kann. Ich lese mich gerade in Indy ein. Ist Indy überhaupt sinnvoll oder gibt es einfacheres?

Gruß Peter

Harry Stahl 18. Feb 2014 22:52

AW: TWebBrowser in Firemonkey
 
Liste der Anhänge anzeigen (Anzahl: 1)
Unter Windows kannst Du auch eine VCL-DLL erstellen und diese von Deiner FMX-Applikation aufrufen.

Du verwendest also in der VCL-DLL die TWebrowser-Komponente (oder Indy oder alles sonst, was Dir in der VCL-Welt zur Verfügung steht) und rufst diese dann von der FMX-App auf.

In meinem FireMonkey-Blog habe ich gezeigt, wie der umgekehrte Weg geht (FMX-DLL in VCL-Anwendung aufrufen), der Weg geht aber eben auch anders rum. Das ist schon wichtig, denn so kannst Du unter Windows auch mit Deiner FMX-App alles das anbieten, was Du bisher mit der VCL machen konntest, incl. der weiteren FMX-Dinge.

Die Unit, welche Du in Deiner FMX-Anwendung einbindest, um die Prozedur aus der VCL-DLL aufzurufen sieht dann etwa so aus:

Delphi-Quellcode:
unit uVCLLink;

interface

uses
  Winapi.Windows;

type
   TShowHTML = procedure(fn: ShortString);

var
   ShowHTML : TShowHTML = nil;
   DllHandle : THandle;

implementation
 initialization
  if DllHandle = 0 then begin
     DllHandle := LoadLibrary('GETVCL.dll');
     if DllHandle > 0 then begin
      @ShowHTML := GetProcAddress(DllHandle,
        'ShowHTML');
     End else begin
       //MessageDlg('ShowHTML steht nicht zur Verfügung',
      //   mtInformation, [mbOK], 0);
     end;
 end;
finalization
if DLLHandle <> 0 then
   FreeLibrary(DLLHandle);
end.
Ja, Du hast richtig gesehen, Du musst hier die WinApi in die FMX-Anwendung einbinden, um die DLL laden zu können. Damit es zu sonst keinen Komplikationen führt, verwendest Du eben nur diese eine Unit (um Namespace-Konflikte u.a. zu vermeiden).

P.S: Statt Shortstring kannst Du auch Widestring, und PCHAR verwenden, wenn Unicode-Zeichen verwendet werden sollen.

Habe mal schnell was in die Tastatur gehackt, das gewinnt keinen Schönheitspreis, zeigt aber als Gerüst, wie es geht. Projekt habe ich hier als Anhang beigefügt.

greenmile 19. Feb 2014 09:15

AW: TWebBrowser in Firemonkey
 
Ich suche schon seit den ersten XE Versionen nach einer Firemonkey/Webbrowser/MAC Version.
Gibt es nicht, unter Mac sind Browser nicht so wichtig wie unter iOS und eigentlich völlig überbewertet. :evil:

Nicht drüber aufregen, TMS hat mit TMSFMXNativeWebView die Alternative: Link

Indy hilft Dir nicht weiter, damit kannst Du nur die Kommunikation regeln, also die den Source der Seite übertragen, aber nicht darstellen.

Peter-Pascal 19. Feb 2014 15:16

AW: TWebBrowser in Firemonkey
 
Hallo,

vielen Dank für die Antwort und für das mitgelieferte Listing. Ich habe mich gleich draufgestürzt und fast vergessen mich zu bedanken.

Also, wenn mir die Bemerkung erlaubt sei, FMX macht einen tollen Eindruck aber es birgt im Detail viele Probleme. Fast alles was ich ausprobiert habe, gelang sehr schnell an Grenzen. Ob es sich wirklich lohnt mit FMX zu arbeiten, habe ich meine Zweifel. Als Hobbyprogrammierer (bzw. Semiprofessionel) kann ich es mir vielleicht leisten mehrere Stunden zum forschen zu verbringen. Aber ein Unternehmer nicht.

Deswegen bin ich so froh, dass es dieses Forum gibt mit den vielen netten Leuten.

Übrigens Harry, ich habe mir Dein Buch gekauft. Sind sehr viele interessante Dinge drin und hat mir in einigen Bereichen schon weitergeholfen.

Gruß Peter


Alle Zeitangaben in WEZ +2. Es ist jetzt 04:27 Uhr.
Seite 1 von 3  1 23   

Powered by vBulletin® Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2021 by Daniel R. Wolf