AGB  ·  Datenschutz  ·  Impressum  







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

FireMonkey lernen

Ein Thema von stahli · begonnen am 23. Sep 2012 · letzter Beitrag vom 24. Sep 2012
Antwort Antwort
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#1

FireMonkey lernen

  Alt 23. Sep 2012, 11:13
Ich habe mir jetzt mal einiges zum FM(2) angesehen und hätte durchaus Lust, damit zu arbeiten.
Die Benutzung der Styles (die sind fast so etwas wie Frames, man baut sich wie mit einem Baukasten eigene Komponenten zusammen) wirkt sehr reizvoll.
Allerdings ergeben sich auch Fragen, z.B.: Wie reagieren die "SubControls" auf Drag&Drop und wie komfortabel lassen sich Datenbindungen in der Praxis realisieren?

Letztlich muss man sich nahezu komplett von der Arbeitsweise der VCL verabschieden - was aber eigentlich auch mal Zeit wird.

Als ersten Versuch wollte ich nun ein Panel verschiebbar machen und habe mich dazu an dem Beispiel LotOfRects orientiert.
Man kann dort ein Rechteck über eine Scrollbox schieben.
Oups!? Kein Code dazu im Projekt???
Schaut man sich den Projektaufbau etwas näher an (dazu habe ich natürlich einiges am Projekt geschraubt), stellt man fest, dass das farbige Rechteck in einem TSeletion liegt und mit HitTest=False die Mausbehandlung einfach durch lässt.
Das TSelection seinerseits bietet bereits die komplette Möglichkeit, sich verschieben und in der Größe ändern zu lassen.

Soweit nicht schlecht - aber ich möchte durch ein Verschieben meines Controls Änderungen in einer Datenbank (oder erst mal Objekteigenschaften) veranlassen und meine Objekte auch auf andere Controls ziehen können.

Also habe ich mir mal Drag&Drop angesehen.

Die Standardfunktionalität ist optisch ansprechend gelöst. Zieht man ein Control über ein anderes wird dieses mit einem Rahmen hervorgehoben.

Nun will ich zunächst mein Panel mit Drag&Drop verschieben, solange sich die Maus über ihm selbst bewegt.
In der VCL hätte ich bei Klick X und Y der Maus ermittelt, beim DragOver mit ClientToParent die Mausposition im Parent ermittelt und dazu relativ das Control neu positioniert.

ClientToParent gibt es jedoch im FM nicht.
Ok, man wird schon eine Lösung finden, aber findet man auch die beste Lösung?
Es ist nahezu ein Beginn bei Null, was die GUI betrifft.


Wozu nun soviel Text?

Ich denke, es wäre ein eigenes FireMonkey-Unterforum sinnvoll, in dem FM-spezifische Fragen geklärt werden können.
"Cross-Plattform-Entwicklung" passt irgendwie nicht recht, finde ich. Mir reicht es z.B. zunächst wenn mein Projekt unter Windows anständig läuft. Das FM-Konzept scheint aber dennoch interessant. "CrossPlattform" könnte dann z.B. behandeln, wie man ein Projekt auf einem Mac o.ä. testen will.

FM mit der VCL in einem Bereich zu behandeln, finde ich auch nicht sinnvoll. Man wird da sehr schnell durcheinander kommen.

Besser wären m.E. getrennte Bereiche:
* GUI-Design mit VCL
* GUI Design mit FM

Wer sich mit FM befasst, wird wohl an vielen kleinen Dingen hängen bleiben, die man zuvor gar nicht vermutet.
Bekannte Lösungen aus der VCL kann man wohl oft nicht identisch umsetzen. Eine zentrale Sammlung von Tutorials wäre sicher auch hilfreich.

Wie man Controls auf die Form setzt, diese an Daten bindet und einen fliegen lässt ist genug gezeigt. Ich bin mal auf die Feinheiten gespannt...

So z.B. Drag&Drop, das über den Standard hinaus geht oder eine komplette Eingabevalidierung bei der fehlerhafte Eingaben abgewiesen und z.B. mit einem roten Rahmen um das Edit angezeigt werden.
Miniaturansicht angehängter Grafiken
fm.png  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (23. Sep 2012 um 15:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.140 Beiträge
 
Delphi 12 Athens
 
#2

AW: FireMonkey lernen

  Alt 23. Sep 2012, 15:16
Schau mal, ob dir Delphi-Referenz durchsuchenFmx.Types.TControl.AbsoluteRect ausreicht.

Beim manuellen Umrechnen der Mausposition in Komponenten-Koordinaten mußt du nun auch noch viel mehr beachten.
- ist das Control gedreht, oder eines seiner Parents
- ist das Control gezoomt, oder eines seiner Parents
- bei Mehrerem muß man das miteinander verrechen
- ...
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: FireMonkey lernen

  Alt 23. Sep 2012, 16:45
Ok, vielleicht sollte man sich weitestmöglich auf die Standard-Arbeitsweisen beschränken.
(In der VCL habe ich da noch einiges geschraubt, bis es nach meinen Wünschen funktionierte.)

Ein anderes Problem: Im Style-Editor habe ich kein Bearbeitungsfenster!?
Kann man das irgendwo einschalten oder ist das ein Bug???
Miniaturansicht angehängter Grafiken
fm1.png  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (23. Sep 2012 um 16:48 Uhr) Grund: Foto vergessen.
  Mit Zitat antworten Zitat
milo

Registriert seit: 22. Mär 2006
Ort: Schwalmtal
66 Beiträge
 
Delphi 11 Alexandria
 
#4

AW: FireMonkey lernen

  Alt 23. Sep 2012, 18:07
dazu kannst Du Dir ja einen Style laden, ihn Deinen Wünschen nach anpassen und dann wieder speichern?

Habe aber (noch) kein XE3 hier, sonst würde ich nachsehen....
Michael Lorenz
Delphi seit FieldTest 1 ... im letzten Jahrhundert ...
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#5

AW: FireMonkey lernen

  Alt 23. Sep 2012, 18:46
Einen Style habe ich geladen, aber das müsste auch mit einem leeren Form gehen, wenn man ein StyleBook auf das Form zieht und öffnet.
Bei mir fehlt einfach der rechte Bereich mit den Einstellmöglichkeiten.

Auch nach einer Reparaturinstallation sowie De- und Neuinstallation der Trial besteht das Problem noch...
Miniaturansicht angehängter Grafiken
fm2.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (23. Sep 2012 um 18:54 Uhr) Grund: Bild
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#6

AW: FireMonkey lernen

  Alt 23. Sep 2012, 21:13
Das ist normal.... man hat die Strukturansicht für die verschiedenen Styles in die klassische Struktuaransicht bei XE3 gelegt.

http://docwiki.embarcadero.com/RADSt...-Stil-Designer

in der englischen Hilfe sieht's man dann:
http://docwiki.embarcadero.com/RADSt...Style_Designer
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#7

AW: FireMonkey lernen

  Alt 23. Sep 2012, 22:22
Ok, ich komme aber dennoch nicht klar damit.
Hier mal ein kurzes Video dazu...

Kannst Du mal zeigen, wie das korrekt und fluffig läuft?
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von MEissing
MEissing

Registriert seit: 19. Jan 2005
Ort: Egelsbach
1.384 Beiträge
 
Delphi 12 Athens
 
#8

AW: FireMonkey lernen

  Alt 24. Sep 2012, 09:24
Im Prinzip genauso wie in FM bei XE2:
http://www.youtube.com/watch?v=pDwg4wG-n2Y
Matthias Eißing
cu://Matthias.Eißing.de [Embarcadero]
Kein Support per PN
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.336 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: FireMonkey lernen

  Alt 24. Sep 2012, 11:31
Hmm, im Prinzip hilft mir nicht weiter.
Im meinem Video habe ich ja gezeigt, womit ich nicht zurecht kam.

Die Videos von Marco kenne ich im übrigen. Dort ist ja noch der extra Designer für die Styles verfügbar.

Möglicherweise war es ein Fehler, diesen einzusparen.
Es kann natürlich auch sein, dass der Fehler in meiner Installation oder direkt bei mir liegt.

Wie auch immer, ich werde wohl mal lieber auf XE4 warten und in der Zwischenzeit die Entwicklunmg beobachten.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  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 04:45 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