Delphi-PRAXiS

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.

Uwe Raabe 7. Aug 2012 07:58

AW: FireMonkey verstehen?
 
Zitat:

Zitat von Insider2004 (Beitrag 1177135)
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.

Es steht jedem frei, eine neue Technologie nicht zu verwenden. Wir geben hier schließlich beide nur unsere persönliche Meinung ab. Das merkt man schon daran, daß wir ein und dieselbe Funktionalität unterschiedlich bewerten.

Insider2004 7. Aug 2012 08:10

AW: FireMonkey verstehen?
 
Es fällt doch auf, dass EMBA nicht das erste Mal SW über den Zaun wirft, die nicht fertig ist. Die restlichen Funktionen und Fixes kommen dann in den nächsten Versionen (natürlich teuer bezahlt).

Ich möchte hierbei an die Delphi-Hilfe erinnern, die 2005 kaputt programmiert wurde und dann ab 2010/11 halbwegs wieder ging. Noch heute hat sie den Qualitäts-Stand von D7 nicht erreicht.

Bernhard Geyer 7. Aug 2012 08:18

AW: FireMonkey verstehen?
 
Zitat:

Zitat von Insider2004 (Beitrag 1177153)
Es fällt doch auf, dass EMBA nicht das erste Mal SW über den Zaun wirft, die nicht fertig ist.
...
Ich möchte hierbei an die Delphi-Hilfe erinnern, die 2005 kaputt programmiert wurde und dann ab 2010/11 halbwegs wieder ging.

Du weißt aber schon das 2005 die IDE-Sparte noch bei Borland war.
Also kann EMBA gar nix für die Fehler/Zerbrochenes Porzelan der damaligen Zeit. Bisher hat m.E. EMBA sichkeine so großen Schnitzer geleistet wie die damaligen Powerpoint-Manager von Borland.

Insider2004 7. Aug 2012 08:26

AW: FireMonkey verstehen?
 
Es sind aber genau noch die gleichen Leute am Werk. Nur weil ein Firmenteil übergeht zu einer anderen Firma ändert das nicht unbedingt was an der Arbeitsweise.

mkinzler 7. Aug 2012 08:34

AW: FireMonkey verstehen?
 
Die Bestimmer sind aber andere. Das Fussvolk das Selbe.

Bernhard Geyer 7. Aug 2012 08:36

AW: FireMonkey verstehen?
 
Zitat:

Zitat von Insider2004 (Beitrag 1177157)
Es sind aber genau noch die gleichen Leute am Werk. Nur weil ein Firmenteil übergeht zu einer anderen Firma ändert das nicht unbedingt was an der Arbeitsweise.

Wenn deine bisherigen Chefs/Firma deine Arbeitsergebnisse nur noch als Balast angesehen haben (wir wollen eigentlich keine IDE mehr - Da muss man ja zu viel machen. Wir wollen Powerpoint-Folien präsentieren) und die neue Firma deine Arbeit und das Ergebnis als wichtigen Baustein eins umfassenden IDE/Entwicklungstool-Portfolios ansehen ändert sich da schon einiges. Man hat in den Foren sehr stark gemergt das die Mitarbeiter froh waren von Borland weg zu sein.

bernau 7. Aug 2012 09:13

AW: FireMonkey verstehen?
 
Es gibt einiges an Firemonkey zu bemängeln, aber an Firemonkey sieht man, daß es voran geht. Daß nicht immer alles glatt läuft, das ist normal. Im vergleich zu Borland aber tausend mal besser. Das prinzip von Firemonkey finde ich klasse. Ich brauche keine nativen Controls. Wenn es auf jeder Plattform gleich aussieht ist das gut. Wenn ich Native Controls möchte, dann nehme ich die VCL. Ansonsten gibt es mit NakeyMonkey die ersten versuche native Controls in Firemonkey zu integrieren.

weisswe 7. Aug 2012 09:20

AW: FireMonkey verstehen?
 
In der neuen FM² wird wohl "nur" Windows 8 Code/Support (Metro) hinzukommen.
Hoffe jedoch auch, das FM² IOS Apps dann unter Mountain Lion zu erzeugen sind....
Und was unter "Visual LiveBindings" zu verstehen ist...

bernau 7. Aug 2012 09:30

AW: FireMonkey verstehen?
 
Zitat:

Zitat von weisswe (Beitrag 1177163)
Hoffe jedoch auch, das FM² IOS Apps dann unter Mountain Lion zu erzeugen sind....

Wird doch sowiso erst XCode erstellt. Oder? Sollte dann doch kein Problem sein.

mkinzler 7. Aug 2012 09:34

AW: FireMonkey verstehen?
 
Die Xcode Version von Mountain Lion wird aber nicht direkt unterstützt

weisswe 7. Aug 2012 09:37

AW: FireMonkey verstehen?
 
Zitat:

Zitat von bernau (Beitrag 1177164)
Zitat:

Zitat von weisswe (Beitrag 1177163)
Hoffe jedoch auch, das FM² IOS Apps dann unter Mountain Lion zu erzeugen sind....

Wird doch sowiso erst XCode erstellt. Oder? Sollte dann doch kein Problem sein.

Ja, Xcode wird erstellt. Jedoch brauchst du den Free Pascal Compiler + Embarcadero FM Componenten (FMI)! Diese laufen derzeit nur unter XCode 4.2 und 4.3 - jedoch gibt es diese Versionen nicht mehr unter Mountain Lion!!

himitsu 7. Aug 2012 10:01

AW: FireMonkey verstehen?
 
Nja, es ist ja nicht total schlecht und direkt Bugs (bis auf die technisch bedingte Unschärfe) hab ich noch keine großen Probleme gefunden ... konnte es aber auch nur unter Windows testen.
[edit] bezoogen auf das "es ist totaler Schrott" [/edit]

Nur blöd finde ich, daß man (wenn ich das richtig verstanden hab) zum Kompilieren für iOS einen "großen" Mac braucht.
Konnte es auch nicht testen, da ich als Zielplattform nur Win32, Win64 und OS X zur Auswahl hab (hätte ja auch ein iOS dort erwartet), aber richtig rxtrem gesucht hab ich nicht (wozu auch) und in den Optionen ist bis auf das Remoteprofil irgendwie nichts zum Mac zu finden.

mkinzler 7. Aug 2012 10:05

AW: FireMonkey verstehen?
 
Zitat:

Nur blöd finde ich, daß man (wenn ich das richtig verstanden hab) zum Kompilieren für iOS einen "großen" Mac braucht.
Das gibt der liebe Obsthändler aus Cupertino so vor.

himitsu 7. Aug 2012 10:15

AW: FireMonkey verstehen?
 
Zitat:

Zitat von mkinzler (Beitrag 1177178)
Das gibt der liebe Obsthändler aus Cupertino so vor.

Das war auch nicht negativ auf Emba bezogen.
Aber schon komisch, daß man Hardware mit einem kleinem Chip für 4000 verkauft, wärend andere die gleiche Hardware (mit besserer Graka) für nur 1000 zusammenstellen können.

Lemmy 7. Aug 2012 10:40

AW: FireMonkey verstehen?
 
Zitat:

Zitat von himitsu (Beitrag 1177181)
Aber schon komisch, daß man Hardware mit einem kleinem Chip für 4000 verkauft, wärend andere die gleiche Hardware (mit besserer Graka) für nur 1000 zusammenstellen können.

das ist aber halt das Geschäftsmodell und das vereinfacht vieles deutlich: WEniger Hardware, weniger Abhängigkeiten weniger Probleme, damit ein sichereres Betriebssystem (zumindest mal in der Theorie). Und durch die Einnahmen im Hardwarebereich kann man dann Dinge wie das Betriebssystem oder die Entwicklungsumgebung dann Querfinanzieren, d.h. das kann man dann kostengünstig abgeben.

Versuch das mal bei Embarcadero: Da gibts halt nix mit dem man eine kostenlose IDE querfinanzieren kann. Und Borland hat es 2x vorgemacht, wie es definitiv gar nicht geht...

Uwe Raabe 7. Aug 2012 13:25

AW: FireMonkey verstehen?
 
Zitat:

Zitat von himitsu (Beitrag 1177176)
Konnte es auch nicht testen, da ich als Zielplattform nur Win32, Win64 und OS X zur Auswahl hab (hätte ja auch ein iOS dort erwartet)

Ein iOS-Projekt musst du als solches neu erstellen: siehe unter Objektgalerie "Delphi Projekte", FireMonkey 3D-iOS-Anwendung bzw. FireMonkey HD-iOS-Anwendung. Grundsätzlich ist das auch sinnvoll, da allein von der Optik und beim Handling ganz andere Kriterien gelten. Die nicht UI-spezifischen Dinge kann man natürlich zwischen den Projekten sharen. Bitter für die OnClick-Event Fetischisten, ich weiß.

stahli 22. Sep 2012 13:59

AW: FireMonkey verstehen?
 
FM zerhaut die Formulare: http://www.youtube.com/watch?v=zrkV9...eature=related :stupid:

himitsu 22. Sep 2012 17:12

AW: FireMonkey verstehen?
 
Das muß man jetzt nur noch um die neue Sensor-API (Positions/G-Sensoren) erweitern, damit es richtig spaßig wird.


Alle Zeitangaben in WEZ +1. Es ist jetzt 10:37 Uhr.

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