AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

FMX Formular in VCL-Anwendung einbetten

Ein Thema von Andreas L. · begonnen am 6. Nov 2019 · letzter Beitrag vom 9. Nov 2019
Antwort Antwort
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#1

AW: FMX Formular in VCL-Anwendung einbetten

  Alt 6. Nov 2019, 21:12
Also diese Mixerei ist nicht ganz so einfach, früher oder später wirst Du da mal auf irgendwelche Probleme stoßen...

Wenn Du es unbedingt machen willst, würde ich das Hydra-Framework nutzen, das habe ich mal eine zeitlang verwendet, weil es Anfangs noch keine PDF-Anzeige Möglichkeit für FMX gab. Das FrameWork hat recht zuverlässig funktioniert, kostet aber und ist auch nicht ganz so einfach:

https://hydra.remobjects.com/hydra/tour.aspx

Dazu hatte ich mal ein kurzes Video gedreht: https://www.youtube.com/watch?v=0K8mEzDmlaM

Besser fände ich aber eine eigene FMX-DLL zu machen und die benötigte Funktionalität aus der DLL aufzurufen.
Dazu habe ich in meinem Blog mal was geschrieben (Beitrag 7 : https://www.devpage.de/blog/firemonkey.htm) und auch ein kurzes Video dazu gedreht: https://www.youtube.com/watch?v=MnqPmX3yJBM

Noch ne Variante, die auch zuverlässig funktioniert, ist eine ganze FMX.Exe in das eigene VCL-Programm einzubetten, auch dazu gibts ein Video (https://www.youtube.com/watch?v=kqOnZn_sHUI) und einen Blogbeitrag (Nr. 14) mit dem Source.

Inzwischen finde ich aber die allerbeste Lösung ist, ALLES mit FMX zu machen, neue Projekte fange ich nur noch mit FMX an, eine Reihe von VCL-Projekte habe ich nach FMX konvertiert (ist aber viel Arbeit), einige führe ich weiter (um nicht ganz aus der Übung zu kommen...).
  Mit Zitat antworten Zitat
Andreas L.

Registriert seit: 23. Mai 2011
Ort: Furth im Wald
308 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: FMX Formular in VCL-Anwendung einbetten

  Alt 9. Nov 2019, 12:14
Hi Harry,
danke für deine Antwort.

Also diese Mixerei ist nicht ganz so einfach, früher oder später wirst Du da mal auf irgendwelche Probleme stoßen...
Welche Probleme könnten da z. B. auftreten?

Zitat:
Wenn Du es unbedingt machen willst, würde ich das Hydra-Framework nutzen, das habe ich mal eine zeitlang verwendet, weil es Anfangs noch keine PDF-Anzeige Möglichkeit für FMX gab. Das FrameWork hat recht zuverlässig funktioniert, kostet aber und ist auch nicht ganz so einfach:

https://hydra.remobjects.com/hydra/tour.aspx

Dazu hatte ich mal ein kurzes Video gedreht: https://www.youtube.com/watch?v=0K8mEzDmlaM
Das Hydra-Framework macht einen guten Eindruck. Leider kann ich es mir nicht leisten.

Zitat:
Besser fände ich aber eine eigene FMX-DLL zu machen und die benötigte Funktionalität aus der DLL aufzurufen.
Dazu habe ich in meinem Blog mal was geschrieben (Beitrag 7 : https://www.devpage.de/blog/firemonkey.htm) und auch ein kurzes Video dazu gedreht: https://www.youtube.com/watch?v=MnqPmX3yJBM
Also sozusagen eine DLL die ein FMX-Form enthält das dann zur Laufzeit in das VCL-Programm geladen wird?

Zitat:
Noch ne Variante, die auch zuverlässig funktioniert, ist eine ganze FMX.Exe in das eigene VCL-Programm einzubetten, auch dazu gibts ein Video (https://www.youtube.com/watch?v=kqOnZn_sHUI) und einen Blogbeitrag (Nr. 14) mit dem Source.

Das Firemonkey-Form hat ein Handle das ich nutzen kann um das ganze Form in eine VCL-Anwendung einzubetten. Z. B. auf einer ScrollBox. Damit habe ich schon experimentiert. Leider haben die Controls auf der Form kein Handle. Aber der umgekehrte Weg wäre für mich viel besser: Ein VCL-Control in eine Firemonkey-App einbetten. Leider kann ich das VCL-Form oder Control nur auf das FMX-Form platzieren und nicht auf anderen FMX-Controls weil wie gesagt diese kein Handle haben. Hast du noch eine Idee wie das klappen könnte? Also VCL-Form/-Control in einem FMX-Control z. B. Panel einbinden? Mir fällt nur ein das VCL-Form ohne Border anzuzeigen und via Koordinaten über das FMX-Form/-Control zu platzieren. Aber das scheint mir sehr unsauber...

Zitat:
Inzwischen finde ich aber die allerbeste Lösung ist, ALLES mit FMX zu machen, neue Projekte fange ich nur noch mit FMX an, eine Reihe von VCL-Projekte habe ich nach FMX konvertiert (ist aber viel Arbeit), einige führe ich weiter (um nicht ganz aus der Übung zu kommen...).
Ich möchte auch neue Projekte mit Firemonkey beginnen. Es bietet einfach viel mehr Möglichkeiten eine Anwendung zu designen. Aber ich brauche in meinem Projekt unbedingt eine Code-Editor-Komponente wie SynEdit (siehe meine anderen Post). Du kennst nicht zufällig so ein Control oder hast eine andere Idee dazu?
Andreas Lauß
Blog

Geändert von Andreas L. ( 9. Nov 2019 um 12:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#3

AW: FMX Formular in VCL-Anwendung einbetten

  Alt 9. Nov 2019, 19:13
Hi Harry,
danke für deine Antwort.

1- Welche Probleme könnten da z. B. auftreten?
2- Also sozusagen eine DLL die ein FMX-Form enthält das dann zur Laufzeit in das VCL-Programm geladen wird?
3- Aber das scheint mir sehr unsauber...
4- ich brauche in meinem Projekt unbedingt eine Code-Editor-Komponente wie SynEdit
1- Mal abgesehen von Konflikten mit gleichen Variablen-Namen, Unterschiede, ob zuerst Windows-Units oder FMX-Units irgendwo eingebunden sind, zusätzlicher Speicherbedarf, insgesamt unsicheres Gesamtverhalten.

2- Ja, genau

3- Das sehe ich auch so...

4- SnyEdit ist natürlich schon sehr mächtig. Brauchst Du davon wirklich alles? Ansonsten könnte evlt. das hier reichen?

https://www.tmssoftware.com/site/tms...xmemo#features
  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 01:07 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