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/)
-   -   Delphi FireMonkey verstehen? (https://www.delphipraxis.net/169707-firemonkey-verstehen.html)

himitsu 6. Aug 2012 21:59

FireMonkey verstehen?
 
Moin,

schon irgendwer den Grundgedanken hinter dem Schmoraffen verstanden?


Das Ding ist unscharf, auch wenn einige Bugfixes das schon ganz schön verbessert haben.

Auf der VCL kennt man so grundlegende Funktionen, die mir da irgendwie fehlen:

- Hints? (OK, dafür gibt es eine Lösung)

- ShortCuts und verlinkte Komponenten.
Früher konnte man mal Tabs, Buttons und Labels damit erreichen und man hatte dort und in Menüs so unterstrichene Buchstaben, für eine schnelle Auswahl per Tastatur.

- Man kann keine Komponenten mehr an die Labels hängen, für grade genannte ShortCuts.

- Es gibt kein PageControl?
Gut, es gibt ein TabControl, welches von der Größe wie ein PageControl aussieht, aber keine Pages besitzt, worauf man was ablegen könnte.
(über ein TabControl und ein paar Panels könnte man sich bestimmt eine PageControl-Komponente basteln)

- Einfügen, Kopieren und Ausschneiden hat mir im Formdesigner schon etwas gefehlt.
Und ja, inzwischen hab ich diese Funktion etwas gewöhnungsbedürftig in der Struktur gefunden.

- Und seit ich nun ein bissl mehr mit Datenbanken arbeite, frag ich mich, wie eine Firma, welche eigentlich soviel mit Datenbankzeugs zu tun hat, sowas wie ein DBGrid vergessen konnte?
(OK, das VCL-Grid war ja auch nicht unbedingt ein Paradestück und ein Tree fehlte och schon immer)
Na gut, es läßt sich eine DataSource daran binden :)

- Wieso kann man nichtvisuellen Komponenten, wie z.B. einem TTimer einen Style (StyleName) verpassen?

- Wieso hat ein TabControl eine TabOrder, obwohl man es nicht per Tabulator erreicht werden kann?

- TabStop war wohl auch eine nutzlose Eigenschaft?

- Und das Hauptmenü reagiert nicht auf [Alt]. :cry:

- Ich hatte anfangs auch nicht verstandan, wieso man die Position und andere Größenwerte als Single angeben kann.
Aber für's Skalieren und Rotieren isses bestimmt praktischer, abgesehn davon, daß dabei die Linien wiederum unscharf werden, schon beim Designen.
(einfach mal ein Edit nehmen, mit ein)

- Aber im Gegenzug gibt es für Single-Property keine Default-Werte.





Kann mir mal bitte wer erklären, was ich nun vom FireMonkey halten soll?

Und was für eine Philosophie dahinter steckt, denn irgendwie versteh ich das nicht so ganz.






Gut, es ist alles schön bunt und man kann es noch viel extrem bunter machen (alles mit ausreichend Gradientanimationen vollpappen), sieht schon irgendwie cool aus und es gibt ein paar nette neue Komponentchen, aber für die Grundfunktionen hat sich bei den Komponenten scheinbar nicht viel getan (abgesehn vom Binding)
und mangels iProdukte ist somit die VCL für mich immernoch schöner/praktikabler.

Jonas Shinaniganz 6. Aug 2012 22:22

AW: FireMonkey verstehen?
 
Naja also Ich denke ein Grund ist der Support fürs Apple OS UND Windows.

Zum anderen die Animationen, jedenfalls fand Ich es schon echt cool wie mein Button1 : TButton aufeinmal wild hin und her gehüpft ist und dann wie ein Propeller den Bildschirm verlassen hat ;) Also Ich glaube man kann wirklich modern aussehende GUI's sehr einfach erstellen.

Der Grundgedanke ist denke Ich wirklich das Deployment auf IOS...

himitsu 6. Aug 2012 22:26

AW: FireMonkey verstehen?
 
iOS oder Touch hin und her, aber es sollte doch auch der große Mac unterstützt werden.

Gibt es denn im Mac keine PageControls und lassen sich dort die Menüs nicht per Tastatur (ähnlich dem Alt+X, oder wie die Taste da heißt) steuern?

Jonas Shinaniganz 6. Aug 2012 22:40

AW: FireMonkey verstehen?
 
Im OSX hat man oben (topaligned) ein Menü, wenn Ich zb Firefox auf einem IMac öffnen würde hat Firefox die Leißte mit Datei, Bearbeiten, Ansicht etc nicht oben im Firefox Fenster
sondern das Menü das immer Topaligned auf dem Desktop ist nimmt die Funktion eines Menüs für den Firefox an. Wenn man dann mal zum Finder (Explorer) Tabbed dann wird das Menü wieder mit dem Explorer gelinked.

Das Menü oben gehört also immer zum aktiven Fenster und nicht aktive Fenster haben kein Menü...

Und generell drückt man beim IMac dann auf die Apfeltaste bei der Tastatur und dann den entpsprechenden Buchstaben, genau wie bei WIndows mit ALT

Insider2004 6. Aug 2012 22:41

AW: FireMonkey verstehen?
 
Wir schreiben Firemonkey-mässig das Jahr 1995. Das ist sozusagen die 1. Version. In 17 Jahren hast du dann die gleiche Funktionalität in FM wie in VCL jetzt. Wer's noch nicht bemerkt hat: FM ist Alpha-Software. Schreibt Bugreports in QC!

Uwe Raabe 6. Aug 2012 22:55

AW: FireMonkey verstehen?
 
Zitat:

Zitat von himitsu (Beitrag 1177126)
- Es gibt kein PageControl?
Gut, es gibt ein TabControl, welches von der Größe wie ein PageControl aussieht, aber keine Pages besitzt, worauf man was ablegen könnte.
(über ein TabControl und ein paar Panels könnte man sich bestimmt eine PageControl-Komponente basteln)

Wieso das nicht? Man kann doch im Kontextmenü des TabControls über den Eintragseditor einzelne Seiten anlegen und auf diesen Seiten verschiedene andere Controls unterbringen (OK, das funktioniert noch nicht im Form-Designer, aber über die Struktur-Ansicht kann man die Controls auf die passende Seite ziehen.)

Was diverse andere Unzulänglichkeiten betrifft: es ist immerhin noch Version 1 und ist sicher auch etwas mit der heißen Nadel gestrickt, aber dafür gibt es noch reichlich Raum für Verbesserungen :wink:

Obwohl ich bereits eine Mac-OS Applikation bei einem Kunden laufen habe, muss ich zugeben, daß mir doch so einige Annehmlichkeiten der VCL fehlen. Deshalb kann ich auch jeden verstehen, der sagt: kein Mac, dann bleibe ich bei VCL! Aber warten wir mal ab, was XE3 so bringt.

Insider2004 6. Aug 2012 23:09

AW: FireMonkey verstehen?
 
Ich verstehe nicht, warum man mit aller Gewalt die FM-Komponenten nicht VCL kompatibel machen kann. Eine Portierung von VCL Code wird dadurch fast unmöglich. Ausser man hat jahrelang Zeit seine 200 Formulare zu konvertieren und tausende von ifdefs einzufügen. Bei Lazarus geht das doch auch. Code läuft ohne Änderungen auf Win und Mac.

Uwe Raabe 6. Aug 2012 23:38

AW: FireMonkey verstehen?
 
Zitat:

Zitat von Insider2004 (Beitrag 1177132)
Eine Portierung von VCL Code wird dadurch fast unmöglich. Ausser man hat jahrelang Zeit seine 200 Formulare zu konvertieren und tausende von ifdefs einzufügen.

Die IFDEFs verstehe ich jetzt nicht - eine Konvertierung ist nicht häppchenweise zu machen und dann haben IFDEFs doch gar keinen Sinn.

Hast du schon mal den MidaConverter probiert? Ich hatte damit meine VCL-Formulare ruck-zuck auf FMX umgestellt.

himitsu 7. Aug 2012 00:14

AW: FireMonkey verstehen?
 
Zitat:

Zitat von Uwe Raabe (Beitrag 1177131)
Wieso das nicht? Man kann doch im Kontextmenü des TabControls über den Eintragseditor einzelne Seiten anlegen und auf diesen Seiten verschiedene andere Controls unterbringen (OK, das funktioniert noch nicht im Form-Designer, aber über die Struktur-Ansicht kann man die Controls auf die passende Seite ziehen.)

Wie soll man da denn drauf kommen?

Neue Tabs anlegen konnte ich schon, nur eben keine Komponenten darauf ablegen.
Allerdings beim TTabControl der VCL konnte man keine Komponenten in den Tabs ablegen, also darf man schonmal davon ausgehn, daß es hier auch nicht geht ... schließlich heißt es ja TabControl und nicht PageControl, wo es in der VCL funktioniert.

Hmmm, hab das mit dem Verschieben in der Struktur des VCL-TabControls mal probiert und man bekommt was dort doch rein, aber es gibt nur eine Seite und Umschalten hilft nix.


Zitat:

Aber warten wir mal ab, was XE3 so bringt.
Wäre schön, wenn Androit (oder gar Linux) für Delphi da mit drin wären.

Zitat:

Zitat von Insider2004 (Beitrag 1177132)
Eine Portierung von VCL Code wird dadurch fast unmöglich.

Ich glaub vor Kurzem hier irgendwo gelesen zu haben, daß es einen DFM-Converter gäbe.
Soll zwar nicht 100% funktionieren, aber ein Anfang.
[edit]midaconverter ... weiß nicht ob es das war, aber TListBox nach TPanel? ... da sieht man schon, daß es nicht ohne Nacharbeit geht, wobei es die TListBox in FM wenigstens noch gibt, aber voallem mit Fremdkomponenten hat man derzeit bestimmt noch so seinen Spaß, vorallem wenn man bisher noch nicht VCL und Logick sehr gut getrennt hatte :angle2: [/edit]

Problematisch ist dabei aber, daß z.B. TLabel und TEdit und TButton alle vom seblen Text-Vorfahren abstammen ... gut, somit ist die API endlich mal einheitlich und man kann überall den Text gleich auslesen, aber es ist nicht ganz kompatibel zur VCL. (andere Text-Property-Namen)
Der Converter sollte es zwar hinbekommen, aber im eigenen Code muß man dennoch viel selber machen.

Bis jetzt würde ich FM wohl eher für Neuentwicklungen in Betracht ziehen, denn man weiß ja nicht, was noch alles verändert wird.

PS: Ich hab grade die Grundzüge für Hints (also zumindestens die Property und die Übersetzung) gefunden ... vielleicht gibt's die ja in ein paar Jahren.

Insider2004 7. Aug 2012 00:20

AW: FireMonkey verstehen?
 
Kurz gesagt: Der Konverter funktioniert nicht. Habe ihn ausprobiert. Das liegt allerdings daran, das FM nicht die entsprechenden Ziel-Funktionen hat. Was soll ein Konverter da noch konvertieren? Das Ganze FM-Zeugs ist mal wieder unausgereifer BS.! Ich schätze in 5 Jahen kann man das halbwegs verwenden im Kundeneinsatz.


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:28 Uhr.
Seite 1 von 3  1 23      

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