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 Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in XE2 (https://www.delphipraxis.net/190588-benutzerausgeloeste-ereignisbehandlungsroutinen-unter-firemonkey-fmx-fehlen-xe2.html)

Delphi-Laie 18. Okt 2016 21:21

Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in XE2
 
Hallo Delphifreunde!

Zur Zeit versuche ich mich erstmalig mit Firemonkey / FMX, konkret unter XE2.

Gleich die erste große Ernüchterung: Die benutzerausgelösten Ereignisbehandlungsroutinen (Maus, Tastatur) OnkeyPress, OnKeyDown, OnKeyUp, OnMouseDown, OnMouseMove und OnMouseUp fehlen im Objektinspektor für das betreffende FMX-Formular.

Kann man diese irgendwo zuschalten, oder ist das ein "Designfeature" des FMX? Kamen die evtl. in späteren Delphiversionen hinzu, wenn ja, ab welcher?

Vielen Dank im voraus und Grüße

Delphi-Laie

Darlo 18. Okt 2016 21:26

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Liste der Anhänge anzeigen (Anzahl: 1)
http://www.delphipraxis.net/attachme...1&d=1476822367
In Berlin ist das meiste vorhanden. Habe gerade kein XE2 hier, aber MouseMove, etc. war sicherlich dabei.... meine ich.

Delphi-Laie 18. Okt 2016 21:31

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Danke!

Zitat:

Zitat von Darlo (Beitrag 1351272)
http://www.delphipraxis.net/attachme...1&d=1476822367
In Berlin ist das meiste vorhanden. Habe gerade kein XE2 hier, aber MouseMove, etc. war sicherlich dabei.... meine ich.

Nein, MouseMove ist eben nicht dabei!

Ich zähle mal auf:

ActiveControl
OnActivate
OnClose
OnCloseQuery
OnCreate
OnDeactivate
OnDestroy
OnPaint
OnResize
StyleBook

Ziemlich mau, wenn man bedenkt, was für ein Getöse um das Produkt damals veranstaltet wurde. Oder, mit böser Zunge: Ein unfertiges Produkt wurde ausgeliefert.

Darlo 18. Okt 2016 21:34

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Und beim TLayout oder TRectangle? Aber XE2 hat ja auch paar Jahre auf dem Deckel.

Delphi-Laie 18. Okt 2016 21:45

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Darlo (Beitrag 1351275)
Und beim TLayout oder TRectangle? Aber XE2 hat ja auch paar Jahre auf dem Deckel.

Das weiß ich nicht, ist mir auch egal. Wenn es nicht mal für Formulare verfügbar ist, dann ist XE2 in Kombination mit FMX für das entsprechende Projekt (wahrscheinlich) leider nicht nutzbar. Ich erwarte eine nahezu 1:1-Übersetzbarkeitskontinuität (eigentlich TP und Delphis Stärke, die ich bisher immer sehr schätzte) und nicht, daß ich stundenlang "umbasteln" muß - das werden i.d.R. eher Tage mit ungewissem Ausgang. Das ist jedenfalls eine ganz schwache Vorstellung, schade.

DeddyH 18. Okt 2016 21:51

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
XE2 war die erste Version, die überhaupt FMX enthielt. Das jetzt als Grund für die schon sattsam bekannte Nörgelei herzunehmen empfinde ich persönlich in der Tat als ganz schwache Vorstellung. Wieso bleibst Du nicht bei TP?

mkinzler 18. Okt 2016 21:51

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Dann bleib halt bei der VCL!

Darlo 18. Okt 2016 21:51

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Sorry, XE 2 ist knapp 5 Jahre alt. Bei XE2 hat man auch noch zwischen FMX und FMI geredet. Schau Dir mal Berlin an, dann merkst Du die Power von Firemonkey.

Delphi-Laie 18. Okt 2016 21:55

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von DeddyH (Beitrag 1351278)
XE2 war die erste Version, die überhaupt FMX enthielt. Das jetzt als Grund für die schon sattsam bekannte Nörgelei herzunehmen empfinde ich persönlich in der Tat als ganz schwache Vorstellung. Wieso bleibst Du nicht bei TP?

Na, wenn das in Deinen Augen schon zuviel verlangt ist, daß man die seit Delphis Urzeiten verfügbaren Funktionalitäten der Formulare (das Grundgerüst der graphischen benutzerereignisgesteuerte Programmierung!!) auch in einer mit großen Worten angekündigten alternativen Bibliothek eben auch in deren Formularen wiederfindet, dann frage ich mich, welche (bescheidenen) Anforderungen Du überhaupt an Neuheiten stellst.

Delphi-Laie 18. Okt 2016 21:56

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Darlo (Beitrag 1351281)
Sorry, XE 2 ist knapp 5 Jahre alt. Bei XE2 hat man auch noch zwischen FMX und FMI geredet. Schau Dir mal Berlin an, dann merkst Du die Power von Firemonkey.

Ja, danke, also werde ich mir doch 10.1 besorgen.

Delphi-Laie 18. Okt 2016 21:58

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von mkinzler (Beitrag 1351279)
Dann bleib halt bei der VCL!

Von einem Moderator hätte ich eigentlich eine Antwort auf wenigstens die Frage erwartet, ab welcher Delphiversion man mit diesen gewohnten Selbstverständlichkeiten rechnen kann.

Darlo 18. Okt 2016 22:07

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Aus meiner Erfahrung war XE5 der größte Schritt bei Firemonkey, dann XE7 und final Berlin.
Ja FM hatte böse Bugs und fehlende Funktionen, für das heutige Ergebnis habe ich mich da aber gerne dürchgekämpft!

Delphi-Laie 18. Okt 2016 22:14

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Darlo (Beitrag 1351285)
Aus meiner Erfahrung war XE5 der größte Schritt bei Firemonkey, dann XE7 und final Berlin.
Ja FM hatte böse Bugs und fehlende Funktionen, für das heutige Ergebnis habe ich mich da aber gerne dürchgekämpft!

Ich glaube gern, daß FMX besser als sein Vorgänger ist, wenn es ausgereift ist. Deshalb möchte ich diesem eine Chance geben und nicht von diesem gleich in der ersten Begegnung vor den Kopf gestoßen werden.

Es muß doch Leute geben, die jede XEx-Version kennen (z.B. Harry Stahl?!) und deshalb auch wissen, wann diese Selbstverständlichkeit implementiert wurde. Ansonsten eben 10.1...

Aviator 18. Okt 2016 22:37

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Eigentlich spielt es doch keine Rolle seit wann es diese Events gibt. Wenn du dir jetzt eine neue Version kaufen würdest, dann wäre es sowieso 10.1 Berlin.

Aber du kannst dir ja auch mal die Trial laden (die Starter gabs die ganze Zeit sogar kostenlos) und dort mal ein wenig probieren. Dann kannst du dir immer noch überlegen, ob es sich für dich lohnt auf eine neue Version umzusteigen. :cyclops:

frapo 19. Okt 2016 01:19

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1351286)
Es muß doch Leute geben, die jede XEx-Version kennen (z.B. Harry Stahl?!) und deshalb auch wissen, wann diese Selbstverständlichkeit implementiert wurde. Ansonsten eben 10.1...

Es muss doch aber auch Leute geben, die einfach mal ein Blick in die OH(http://docwiki.embarcadero.com/Libraries/Berlin/en/FMX) werfen. Da steht doch genau, was mit welcher Version genau eingeführt wurde.

Zitat:

Zitat von Aviator (Beitrag 1351289)
Aber du kannst dir ja auch mal die Trial laden (die Starter gabs die ganze Zeit sogar kostenlos) und dort mal ein wenig probieren. Dann kannst du dir immer noch überlegen, ob es sich für dich lohnt auf eine neue Version umzusteigen. :cyclops:

Die Starter gibt es immer noch kostenlos, meines Wissens nach. Diese ist dem OP aber aus "vielerlei" Gründen nicht genehm. :roll:

jaenicke 19. Okt 2016 06:20

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Liste der Anhänge anzeigen (Anzahl: 1)
Die genannten Events sind unter XE2 bei mir ganz normal vorhanden:

Anhang 46054

Hast du alle Updates für XE2 installiert?

Mavarik 19. Okt 2016 06:39

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1351271)
Zur Zeit versuche ich mich erstmalig mit Firemonkey / FMX, konkret unter XE2.

XE2? Lass es lieber...

Wie im anderen Thread schon geschrieben unter XE6 auf keinen Fall, ab XE8 geht es, nimm 10.1 - mobil sowieso...

Daniel 19. Okt 2016 07:16

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1351286)
[...] wann diese Selbstverständlichkeit implementiert wurde. Ansonsten eben 10.1...

Die Doku wird Dir hier die beste Hilfe geben.

Zu den "OnMouseXX"-Ereignissen muss man die Entstehungsgeschichte von FMX verstehen. FMX hatte ja seinen Einzug in Delphi erhalten, weil man die mobile Welt adressieren wollte. In diesem Kontext waren (und sind!) OnMouse-Ereignisse schlicht nicht relevant. Auch allgemeine OnKey-Ereignisse sind auf den mobilen Geräten jenseits von Eingabefeldern bis heute von wenigen Ausnahmen abgesehen bedeutungslos. Das gab es deutlich wichtigere Baustellen, wie Dir jeder, der mit XE2 gearbeitet hat, wird bestätigen können.

Delphi-Laie 19. Okt 2016 08:02

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Sebastian: Kein einziges, aber danke für den Hinweis, vielleicht bekomme ich noch etwas davon aufgetrieben, bevor ich eine höhere Version neu installiere.

Mavarik: Danke, die Entscheidung, wenn etwas Neues, dann für "Berlin", ist gefallen.

Daniel: Ebenfalls danke. Ich vermute allerdings, daß für die Pen-Eingaben auch irgendwelche On-Ereignisse zuständig sind, und die fehlen eben gänzlich. Embarcaderos Anspruch war und ist m.E., plattformübergreifend anzubieten und nicht, sich aus der Windowswelt allmählich zurückzuziehen.

jaenicke 19. Okt 2016 08:40

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1351301)
Sebastian: Kein einziges, aber danke für den Hinweis, vielleicht bekomme ich noch etwas davon aufgetrieben, bevor ich eine höhere Version neu installiere.

Das ist das Image mit Update 4 und Hotfix für Update 4 schon drin:
http://cc.embarcadero.com/item/28882

Aber natürlich sehe ich das auch so, dass FMX mit XE2 nicht schön ist und mit neueren Versionen deutlich angenehmer.

bra 19. Okt 2016 09:11

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Ich kann auch nur von FMX mit so einem alten Delphi abraten. Wir haben das auch durchgemacht und damals war FMX einfach noch nicht sinnvoll zu gebrauchen.

Delphi-Laie 1. Nov 2016 14:15

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von bra (Beitrag 1351306)
Ich kann auch nur von FMX mit so einem alten Delphi abraten. Wir haben das auch durchgemacht und damals war FMX einfach noch nicht sinnvoll zu gebrauchen.

Nunja, XE2 funktioniert bei mir im ersten ernsthaften Versuch, XE 10.1 und vor allem FMX zu verwenden, im Vergleich besser als XE 10.1, siehe hier!

Um noch mal zur Ausgangskritik zurückzukommen: Auch unter XE 10.1 haben die FMX-Formulare immer noch deutlich weniger (On-)Ereignisse als ihre VCL-Pendants. Wahrscheinlich sind also etliche dauerhaft wegrationalisiert worden.

Mavarik 1. Nov 2016 15:20

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Delphi-Laie (Beitrag 1352358)
Um noch mal zur Ausgangskritik zurückzukommen: Auch unter XE 10.1 haben die FMX-Formulare immer noch deutlich weniger (On-)Ereignisse als ihre VCL-Pendants. Wahrscheinlich sind also etliche dauerhaft wegrationalisiert worden.

Oder nur im OI nicht sichtbar!

Harry Stahl 1. Nov 2016 17:41

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:

Zitat von Delphi-Laie (Beitrag 1352358)

Um noch mal zur Ausgangskritik zurückzukommen: Auch unter XE 10.1 haben die FMX-Formulare immer noch deutlich weniger (On-)Ereignisse als ihre VCL-Pendants. Wahrscheinlich sind also etliche dauerhaft wegrationalisiert worden.

XE2 hatte 14 On..Events im FMX-Formular.
DX10 hat 23 On..Events im FMX-Formular.

Das VCL-Formular hat 43 On..Events im Formular.

Anliegend kann man in der Darstellung genau sehen, welche On..Events bei FMX "fehlen" (gelb) und welche in FMX sind, die in der VCL "fehlen" (grün).

Aber glaube mir, man kann dennoch mit dem FMX-Formular i.d.R. auch das machen, was man mit dem VCL-Formular gemacht hat. Teilweise verwendet man es anders oder nimmt noch etwas dazu.

Wenn Du z.B. ein TLayout auf das FMX-Formular legst (Align = Client) und HitTest auf "True" setzt, kriegst Du auf einen Rutsch die folgenden Events dazu, die im FMX-Formular "fehlen":

- OnClick
- OnDblClick
- ONDragDrop
- OnDragEnd
- OnDragLeave
- OnDragOver
- OnMouseEnter
- OnMouseLeave

Grundsätzlich sei anzumerken, dass hier im FMX-Framework auch nirgendwo etwas "wegrationalisiert" wurde. Denn das Framework wurde zunächst von jemanden ganz anderem entwickelt und war als VCSCENE bekannt und hatte nie Bezüge zur VCL. Es wurde dann später von Embarcadero erworben und unter einem neuen Namen fortentwickelt, eben mit der Intention ein Plattform-übergreifendes Framework zu haben.

Mit der VCL kannst Du halt Windows-Programme entwickeln, aber das war es auch schon. Mit FMX steht Dir auch MAC, IOS und Android als Zielplattform zur Verfügung und demnächst auch noch Linux (wenn auch im ersten Schritt leider noch nicht für den Desktop).

Nachtrag: Und wenn schon FMX-Entwicklung, dann nimm Delphi 10.1 Berlin. Das ist Klassen besser als XE2, nicht nur im FMX-Framework, sondern auch was die IDE betrifft.

Delphi-Laie 1. Nov 2016 22:45

AW: Benutzerausgelöste Ereignisbehandlungsroutinen unter Firemonkey / FMX fehlen in X
 
Zitat:

Zitat von Harry Stahl (Beitrag 1352371)
Nachtrag: Und wenn schon FMX-Entwicklung, dann nimm Delphi 10.1 Berlin. Das ist Klassen besser als XE2, nicht nur im FMX-Framework, sondern auch was die IDE betrifft.

Ich hatte das Thema noch einmal aufgewärmt, weil ich jetzt den Vergleich mit XE 10.1 habe. Umfangreicher als in XE 2 ist die Ereignisliste durchaus, aber noch nicht so funktional wie die von VCL gewohnt (Deine Vergleichgraphik ist vorbildlich). Wenn die Experten jedoch meinen, daß man dennoch auf kaum etwas verzichten muß, dann beruhigt das ungemein.

Danke!


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:06 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