AGB  ·  Datenschutz  ·  Impressum  







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

Keine Frames unter Firemonkey

Ein Thema von bernau · begonnen am 26. Sep 2011 · letzter Beitrag vom 29. Sep 2011
Antwort Antwort
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.730 Beiträge
 
Delphi 12 Athens
 
#1

AW: Keine Frames unter Firemonkey

  Alt 26. Sep 2011, 16:50
Wieso sollte das Fehlen von Frames ein Problem sein?
Firemonkey basiert auf Composition, das heisst Du kannst im Prinzip alles was Du als Frame machen würdest als eigenes Control zusammenstellen.
Kannst du das mal etwas genauer erläutern? Wenn ich das richtig verstehe, kann ich mit dem FMX-Designer doch immer nur ein vollständiges Form erstellen. Oder gibt es da eine Möglichkeit, irgendwie ein Teilform zu erstellen und dieses dann sowohl mehrfach ein einem anderen Form, als auch gleichzeitig in unterschiedlichen Forms zu instanzieren. Dieses ist immerhin ein wesentlicher Vorteil von Frames: einmal Design und Code, mehrfach verwenden. Änderungen an einer Stelle, Auswirkungen in allen Instanzen.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
Benutzerbild von implementation
implementation

Registriert seit: 5. Mai 2008
940 Beiträge
 
FreePascal / Lazarus
 
#2

AW: Keine Frames unter Firemonkey

  Alt 26. Sep 2011, 17:05
In vielen anderen Frameworks gibt es auch keine Frames, und man kommt dort auch zurecht.
Wieso? Weil man es auch gleich als Control realisieren kann.

Du baust dir nen Custom Control und erstellst darauf, was du benötigst, wie bei 'nem Frame auch.
Da ich XE2 nicht habe, kann ich allerdings wenig dazu sagen, inwiefern dir der Formdesigner bei der Gestaltung der Controls hilft.
Aber hinterher das Draufpacken aufs Form dürfte unproblematisch sein.
  Mit Zitat antworten Zitat
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#3

AW: Keine Frames unter Firemonkey

  Alt 26. Sep 2011, 17:17
In vielen anderen Frameworks gibt es auch keine Frames, und man kommt dort auch zurecht.
Wieso? Weil man es auch gleich als Control realisieren kann.
Genau. Beim FMX realisiert man das mittels Styles. Dazu definiert man ausgehend von einem TLayout alle benötigten Elemente und weist den Resourcen-Namen dem FMX-Control im Onjektinspektor zu. Das Witzige dabei ist, dass mit dieser Methode ein TLabel und ein TEdit danach identisch aussehen (können).

Problematisch wird es dann in der Praxis: Kann ich im Code die Elemente eines Styles noch per BindingName ansprechen, wird es spätestens beim Keyboard-Handling etwas ... unhandlich.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von Uwe Raabe
Uwe Raabe

Registriert seit: 20. Jan 2006
Ort: Lübbecke
11.730 Beiträge
 
Delphi 12 Athens
 
#4

AW: Keine Frames unter Firemonkey

  Alt 26. Sep 2011, 17:35
In vielen anderen Frameworks gibt es auch keine Frames, und man kommt dort auch zurecht.
Ach, was?
Wieso? Weil man es auch gleich als Control realisieren kann.

Du baust dir nen Custom Control und erstellst darauf, was du benötigst, wie bei 'nem Frame auch.
Da ich XE2 nicht habe, kann ich allerdings wenig dazu sagen, inwiefern dir der Formdesigner bei der Gestaltung der Controls hilft.
Aber hinterher das Draufpacken aufs Form dürfte unproblematisch sein.
Verstehe ich das richtig? Ich erzeuge ein CustomControl - ach nee, das gibt es in FMX ja gar nicht. Aber egal, ich erzeuge ein was-auch-immer, packe da meine Controls drauf, verdrahte die Events und speichere das als eigene Unit ab. Damit ich das ganze auch im Formulardesigner verarbeiten kann, muss ich dieses neue zusammengesetzte Control aber erst in ein Design-Time Package packen und in der IDE installieren. Das muss ich jetzt für alle meine 312 Frames meines einen Projekts machen und sie auch gleich wieder deinstallieren, wenn ich das Projekt wechsele.

Kommt noch erschwerend hinzu, daß es einfach keine Designer-Unterstützung für solche zusammengebastelten Controls gibt. Alles in allem ist das bei Weitem kein Ersatz für Frames. Wie es aussieht, kann man sich in XE2 mit FireMonkey von einem modularen Aufbau eines Forms in seiner bisherigen Inkarnation durch Frames wohl verabschieden. Bleibt nur (ohne es getestet zu haben), die "Frames" in eigenen FMX-Forms in einem Layout zu designen und dann das Layout zur Laufzeit in das Zielform zu transferieren. Eine eher halbherzige Lösung. Warten wir mal auf XE3.

Übrigens: das mit den Styles habe ich nicht so richtig verstanden. Vielleicht könnte ja mal jemand ein konkretes Beispiel zeigen: Wie portiert man ein VCL-Frame, das eine Addresse mittels mehrerer Labels und Edits inklusive Eingabehilfen und Plausibilitätsprüfung bereitstellt nach FMX, so daß ich

a) in einem Form mehrere Adressen bearbeiten kann (= mehrere "FMX-Frame"-Instanzen)
b) in mehreren Forms dieses "FMX-Frame" verwenden kann

Würde mich wirklich interessieren, wie man sowas macht.
Uwe Raabe
Certified Delphi Master Developer
Embarcadero MVP
Blog: The Art of Delphi Programming
  Mit Zitat antworten Zitat
bernerbaer
(Gast)

n/a Beiträge
 
#5

AW: Keine Frames unter Firemonkey

  Alt 26. Sep 2011, 18:11
Ich besitze zwar Firemonkey nicht (XE2 getestet und für mich als noch nicht produktiv einsatzfähig befunden), aber sollte es nicht wie bei Delphi möglich sein, Forms in Forms einzubetten?

Ich weiss nicht mehr ob es Delphi5 war, als Frames eingeführt worden sind, jedenfalls waren Frames damals noch unbrauchbar, so dass ich vollständig auf den Einsatz von Frames verzichtet habe und stattdessen jeweils Forms in Panels, Pagecontrols, ... einbinde. Vermutlich funktionieren heute Frames in Delphi problemlos, doch mit meinem Ansatz von Form in Forms bin ich bis heute so gut gefahren, dass ich keinen Grund sehe Frames einzusetzen.
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

Registriert seit: 12. Aug 2003
Ort: Soest
4.051 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#6

AW: Keine Frames unter Firemonkey

  Alt 26. Sep 2011, 18:31
aber sollte es nicht wie bei Delphi möglich sein, Forms in Forms einzubetten?
So isses.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight
  Mit Zitat antworten Zitat
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#7

AW: Keine Frames unter Firemonkey

  Alt 27. Sep 2011, 07:52
ach nee, das gibt es in FMX ja gar nicht.
Der FMX- Vorläufer vgScene kennt z.B. noch ein TvgFrame als weitere TLayout-Komponente, konnte mit mit einem Property eine vgScene-Maske in den interaktiven Edit- Mode versetzen, Videos abspielen (wie in animierten DVD-Menüs) etc. Was ich damit sagen will: FMX zeigt derzeit längst noch nicht alles und man kann damit wohl nicht viel mehr machen, als das, was die Demos zeigen.

Mit den Styles allerdings bekommen wir Entwickler ein Konzept in die Hand, mit dem wir mehr als nur Farbe und Font eines Controls beeinflussen können: Im Prinzip ist es sogar egal, wie das Ausgangs-Control aussieht. Man kann über ein TLabel per Styles 10 Edit-Boxen bereit stellen und ein Memo-Feld lediglich zum Darstellen einer Grafik umstylen. Abseits dieser sinnfreien Verwendung habe ich z.B. in einer Zelle des StringGrids 2 Edit-Controls untergebracht. Hier musste ich allerdings vgScene beim Keyboard-Handling und beim Hittest in die Sourcen greifen, aber es funktioniert. Da Styles ja DFM-like nur Text-Definitionen sind, lässt sich das leicht übertragen. Nur mit DesignTime-Support ist da nichts, das passiert (bei mir) alles im Code (insbesondere das Lesen/Setzen der Syle-Controls via BindingName).

Allerdings kann man ja Style-Dateien auch in der IDE nachladen, so dass einem die selbst-designten Control-Styles im Projekt und Formdesigner visuell zur Verfügung stehen.
Andreas
  Mit Zitat antworten Zitat
Benutzerbild von bernau
bernau
Online

Registriert seit: 1. Dez 2004
Ort: Köln
1.310 Beiträge
 
Delphi 12 Athens
 
#8

AW: Keine Frames unter Firemonkey

  Alt 27. Sep 2011, 08:52
Der FMX- Vorläufer vgScene kennt z.B. noch ein TvgFrame als weitere TLayout-Komponente, konnte mit mit einem Property eine vgScene-Maske in den interaktiven Edit- Mode versetzen, Videos abspielen (wie in animierten DVD-Menüs) etc. Was ich damit sagen will: FMX zeigt derzeit längst noch nicht alles und man kann damit wohl nicht viel mehr machen, als das, was die Demos zeigen.
Ich beschäftige mich grade mit FMX und finde es wirklich klasse. FMX kann viele Dinge, die ich bei der VCL vermisst habe. Damit kann ich aber fehlende Frames nicht schönreden.


Der FMX- Vorläufer vgScene kennt z.B. noch ein TvgFrame als weitere TLayout-Komponente, konnte mit mit einem Property eine vgScene-Maske in den interaktiven Edit- Mode versetzen, Videos abspielen (wie in animierten DVD-Menüs) etc. Was ich damit sagen will: FMX zeigt derzeit längst noch nicht alles und man kann damit wohl nicht viel mehr machen, als das, was die Demos zeigen.

Mit den Styles allerdings bekommen wir Entwickler ein Konzept in die Hand, mit dem wir mehr als nur Farbe und Font eines Controls beeinflussen können: Im Prinzip ist es sogar egal, wie das Ausgangs-Control aussieht. Man kann über ein TLabel per Styles 10 Edit-Boxen bereit stellen und ein Memo-Feld lediglich zum Darstellen einer Grafik umstylen. Abseits dieser sinnfreien Verwendung habe ich z.B. in einer Zelle des StringGrids 2 Edit-Controls untergebracht. Hier musste ich allerdings vgScene beim Keyboard-Handling und beim Hittest in die Sourcen greifen, aber es funktioniert. Da Styles ja DFM-like nur Text-Definitionen sind, lässt sich das leicht übertragen. Nur mit DesignTime-Support ist da nichts, das passiert (bei mir) alles im Code (insbesondere das Lesen/Setzen der Syle-Controls via BindingName).

Allerdings kann man ja Style-Dateien auch in der IDE nachladen, so dass einem die selbst-designten Control-Styles im Projekt und Formdesigner visuell zur Verfügung stehen.
Auch das ist schön, daß FMX das kann. Aber auch hier gilt, es ersetzt keine Frames. Die Argumentation kommt mir vor, als wäre ich bei einem Autohändler und möchte einen 200PS-Motor und der Händler sagt, "Haben wir nicht, aber das Radio kann dafür viel mehr als beim Vorgänger."
Gerd
Kölner Delphi Usergroup: http://wiki.delphitreff.de
  Mit Zitat antworten Zitat
neo4a

Registriert seit: 22. Jan 2007
Ort: Ingolstadt
362 Beiträge
 
Delphi XE2 Architect
 
#9

AW: Keine Frames unter Firemonkey

  Alt 27. Sep 2011, 09:03
Damit kann ich aber fehlende Frames nicht schönreden.
Du hast aber schon verstanden, das FMX noch nicht im vollen Umfang verfügbar ist?! BTW, das Schönreden überlasse ich der Kanzlerin.

Aber auch hier gilt, es ersetzt keine Frames.
Meine Antwort bezog sich auf einen Aspekt der Styles-Frage von Uwe und hatte in der Tat nichts mit Deinen vermissten Frames zu tun. Und wenn Du z.B. MaskEdit brauchst: nicht bei FMX suchen, sondern bei VCL bleiben. David I. bestätigte zuletzt den Delphi-Support solange es Windows gibt.
Andreas
  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 09:45 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