AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Projekte ssFrameWork (StahliSoft - FrameWork)
Thema durchsuchen
Ansicht
Themen-Optionen

ssFrameWork (StahliSoft - FrameWork)

Ein Thema von stahli · begonnen am 20. Feb 2013 · letzter Beitrag vom 23. Mai 2013
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von stahli
stahli

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

ssFrameWork (StahliSoft - FrameWork)

  Alt 20. Feb 2013, 00:03
Die Erfahrungen mit den (Visual) Live Bindings sind sehr durchwachsen.
Auch wenn diese stabil arbeiten würden, wäre das Konzept m.E. nicht wirklich sinnvoll.

Auf der Suche nach einer Alternative habe ich mich mit einem eigenen Lösungsansatz beschäftigt.
Heraus gekommen ist mein "ssFrameWork" (jedenfalls erste Ansätze dafür).


Da das Framework schon recht umfangreich ist, will ich dieses hier zunächst mit zwei kurzen Videos vorstellen:
Demoprojekt: http://youtu.be/MwQooRn67tI
Funktionsweise: http://youtu.be/OpHenJ1EPDE
Das Grundprinzip wird hoffentlich ausreichend verdeutlicht.
(Bitte erwartet keine medialen Kunstwerke, ich möchte hier nur gern die Funktionsweise vorstellen.)


Das DataBinding funktioniert anders als bei den LiveBindings, aber es funktioniert halt.
Der wesentliche Unterschied ist, dass die GUI-Controls sich aktiv ihre Daten von dem Frameworkmanager abrufen und andererseits die GUI-Controls dynamisch vom Framework abhängig von der Datenlage erstellt werden können.


Im Moment habe ich das Framework für FireMonkey aufgebaut (ich hoffe immer noch, dass FireMonkey mit der Zeit verbessert wird und allgemeine Akzeptanz und Verwendung findet) aber es wäre ohne Probleme auch für die VCL realisierbar.
Natürlich sind noch viele Erweiterungen und Optimierungen geplant und erforderlich (insbesondere was die Datenbankfunktionen betrifft), aber ich würde gern schon einmal Eure Einschätzung des Konzeptes erfahren...

Das Grid, die ListBox und den Navigator habe ich nicht von den originalen FMX-Controls abgeleitet, sondern diese komplett neu aufgebaut.
Zum Einen finde ich die originalen FMX-Controls unnötig kompliziert und zum Anderen habe ich so die Möglichkeit, die Controls optimal auf das Framework anzupassen.


Ich bin für jedes Feedback dankbar und hoffe natürlich auf Euer Interesse ...
Miniaturansicht angehängter Grafiken
mf1.jpg   mf2.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (20. Feb 2013 um 18:16 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 20. Feb 2013, 07:01
Sieht ganz brauchbar aus, ... aber das tun die LiveBindings und Firemonkey in den Embarcadero Präsentationen auch.

Feedback wird also imho erst für dich brauchbar, wenn du mal andere damit rumspielen lässt, die das nicht entwickelt haben (spreche aus eigener Erfahrung).
Dann zeigt sich nämlich wie intuitiv und einsetzbar das ganze ist.

Was mich etwas stört ist, dass das Framework extra Controls braucht. Gerade bei Firemonkey (und in der VCL ab XE2) kann man das wunderbar über den Observer regeln, ohne z.B. Interceptor Klassen zu bauen, wie ich in DSharp gemacht habe.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (20. Feb 2013 um 07:12 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

Registriert seit: 18. Mär 2004
Ort: Luxembourg
3.492 Beiträge
 
Delphi 7 Enterprise
 
#3

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 20. Feb 2013, 07:06
Ja das sieht gut aus. Ich habe dazu aber die eine oder andere Frage:

* Wann kommt die VCL-Version?
* Welche Controls hast Du bereits umgesetzt?
* Wie kann man NICHT von Dir bereits implementierte Controls an das Framework binden?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Lemmy

Registriert seit: 8. Jun 2002
Ort: Berglen
2.395 Beiträge
 
Delphi 10.4 Sydney
 
#4

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 20. Feb 2013, 07:41
Hi,

da ich ne bescheidene Internetanbindung habe (deshalb ist Video ganz schlecht), würden mich ein paar Sourcen interessieren, insbesondere wie man Controls anbindet (Standardcontrols).
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 20. Feb 2013, 11:50
Danke schon mal für das Feedback.

Die Quellen stelle ich ab heute Abend gern zum Testen zur Verfügung.
Das Problem ist, dass ich zum Release 1.0 momentan vielleicht beim Stand von 20% bin.

Probleme gibt es im Moment definitiv beim Überschreiben der Datenbank, da ich damit noch wenig Erfahrungen habe. Testweise nutze ich FB unter IBX, das sollte man aber leicht austauschen können.

Ansonsten will ich noch einen Komponenteneditor erstellen, in dem ich die Struktur der BL-Klassen definieren kann. Der Experte soll dann (abhängig von der gewählten Datenhaltung (ObjektListen, ORM, DataSet)) die Klassen für die Datenverwaltung erstellen. Diese Klassen sollen dann durch den Experten jederzeit aktualisiert werden können.
Der Programmierer kann von den automatisch zu generierenden Datenklassen BL-Klassen ableiten, die die Geschäftslogik definieren.
Soweit meine Vorstellungen dazu. Aber das muss halt noch realisiert werden.

Wer dennoch Interesse am aktuellen Stand hat, einfach mal per pm schreiben...


Derzeit habe ich nur das Edit und die Checkbox angepasst (Grid, Listbox und Navigator neu zu entwickeln war mir dann wichtiger). Die anderen Controls sollten aber auch leicht anpassbar sein.
Ebenso die VCL-Controls. Wenn da Nachfrage besteht kann ich das mal mit angehen (ab Delphi 2010 sollte das machbar sein).


Dass man spezielle Controls nutzen muss (ähnlich den DBControls unter VCL) halte ich nicht unbedingt für nachteilig. Ich hatte auch schon Versuche erfolgreich durchgeführt, einem "normalen" Control (z.B. existierenden Edit) einfach nachträglich einen Controller anzuhängen und das Binding dann so zu realisieren (mit Hilfe eines SubClassing - oder wie heißt das wenn eine Klasse dynamisch zur Laufzeit Compiletime überschrieben wird?).
Ich fand es dann aber besser und übersichtlicher, spezialisierte Controls einzuführen. Aber da kann man ja nochmal drüber nachdenken, wenn gewünscht.
(Aber die FMX-Controls sind ja letztlich auch schon spezialisierte Controls, um mit dem LiveBinding umzugehen. Irgendwie müssen die Controls ja ihr Funktionalität auf das Framwork anpassen.)


Zumindest freut mich sehr, dass Euch der Grundgedanke offenbar gefällt.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (26. Feb 2013 um 11:37 Uhr)
  Mit Zitat antworten Zitat
bernhard_LA

Registriert seit: 8. Jun 2009
Ort: Bayern
1.138 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 20. Feb 2013, 15:19
wie wäre es mit einem Projekt auf Source forge und mit SVN , dann können wir immer den aktuellen Stand runterladen bzw. auch mal selbst was hinzufügen ?
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 29. Mär 2013, 11:34
Master-Detail-Beziehungen lassen sich auch darstellen:

Das Mastergrid benutzt eine Menge: "ClassList".

Das DetailGrid benutzt die Menge "ClassPropertyList" der aktuell selektierten "Class".
Die Zuweisung erfolgt so: .ClassList[].ClassPropertyList

Grundsätzlich ließen sich auch mehrere Cursor auf eine Menge zuordnen.
Das könnte dann so aussehen:

.ClassList[100].ClassPropertyList
.ClassList[CursorCustomer].ClassPropertyList
.ClassList[Cursor2].ClassPropertyList
Miniaturansicht angehängter Grafiken
md1.jpg   md2.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 11. Apr 2013, 00:11
25 min kostenfreie Unterhaltung: http://youtu.be/BIQgb5-mWu0

Ich erstelle nun mal ein neues kleines Demoprojekt mit vollständiger Unterstützung des Frameworks.
Auch wenn noch nicht alles fertig umgesetzt ist wird doch ersichtlich, welche Arbeitsweise das Framework ermöglicht.
Wenn die Entwicklung in der Form weiter läuft (oder mit Unterstützung sogar schneller und besser) wird das vielleicht wirklich so, ich mir das schon immer gewünscht habe...
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli (11. Apr 2013 um 00:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 1. Mai 2013, 19:55
Ich habe mal die Combobox etwas verändert, so dass sie sich besser in mein Framework einfügt (optisch und funktionell).
Im Grundsatz passt das schon ganz gut, aber ein paar Dinge werde ich mit der Zeit noch ausbauen.

Ich rufe ein eigenes Formular auf, das bei MouseLeave wieder geschlossen wird und Einträge ggf. scrollt.
Die Anordnung der Einträge ist voll in der Hand des Programmierers. Insofern kann man beliebige Änderungen und Erweiterungen vornehmen.

Man muss es ja nicht genau so regeln, aber die FMX-native Lösung ist einfach mal...

Youtube spinnt etwas, aber das Hochladen hat zumindest funktioniert: http://youtu.be/LjS96oquwS8 (2 Min)
Miniaturansicht angehängter Grafiken
cbs.jpg  
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)

Geändert von stahli ( 1. Mai 2013 um 20:10 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von stahli
stahli

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

AW: ssFrameWork (StahliSoft - FrameWork)

  Alt 5. Mai 2013, 22:36
Hier mal die nächsten Schritte: http://youtu.be/XW5MnL45Nyo (10 min )

Die Zellen sind jetzt immer komplett vom gleichen Typ. Sie enthalten also nicht mehr eingesetzte Comboboxen oder Checkboxen sondern ändern lediglich je nach Vorgabe ihre Erscheinung und Verhaltensweise.
Entsprechend lassen sich beliebige weitere Zellentypen erstellen und verwenden.

Mein Problem ist noch der Umgang mit den Styles unter FMX. Das ist irgendwie zu verwirrend und vor allem auf Grund diverser Fehler und Probleme nicht wirklich benutzbar.

Bisher kommt die GUI nahezu ohne Quellcode aus. Die Füllung der Listen mit Einträgen kann direkt in den Businessklassen "vordefiniert" werden.

Als nächstes will ich dem Gitter die Möglichkeit bieten, die Zellen dynamisch zu formatieren.
Wenn in meinem Beispiel in der Spalte "NativeType=ntString" eingetragen wäre, müssten die Zellen MinValue und MaxValue für die Zeile ausgeblendet und dafür aber "MaxLength" und "UpperLower" eingeblendet werden.
Im Falle von ntBoolean müsste "DefaultValue" als Checkboxzelle dargestellt werden.
Das muss dann natürlich über einen Ereignishändler in der GUI erfolgen.

Mein Ziel ist aber, die GUI so weit wie möglich ohne Quelltext auskommen zu lassen. Entsprechend soll das Framework den größten Teil der Vermittlungsarbeit übernehmen.
Stahli
http://www.StahliSoft.de
---
"Jetzt muss ich seh´n, dass ich kein Denkfehler mach...!?" Dittsche (2004)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 01:20 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