AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Business-Anwendung mit FireMonkey erstellen
Thema durchsuchen
Ansicht
Themen-Optionen

Business-Anwendung mit FireMonkey erstellen

Ein Thema von Harry Stahl · begonnen am 29. Mär 2014 · letzter Beitrag vom 2. Apr 2014
Antwort Antwort
Seite 1 von 2  1 2      
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#1

Business-Anwendung mit FireMonkey erstellen

  Alt 29. Mär 2014, 01:25
Hallo zusammen.

Nachdem ja auch hier hin und wieder mal von dem einen oder anderen bezweifelt wurde, ob man mit FireMonkey auch echte Business-Anwendungen erstellen kann, bin ich so frei und poste hier mal einen Video-Link auf mein soeben veröffentlichtes Rechnungsprogramm PC-Rechnung 3.0. Ich denke, ein Rechnungsprogramm kann man ja wohl als klassische Business-Anwendung bezeichnen.

Ich habe hier in ca. 2 Wochen arbeit die VCL-Anwendung in eine FMX-Anwendung umgewandelt und dabei das Programm noch in ca. 15 Punkten erweitert (insofern springt die Versionsnummer von 2.11 auf 3.0).

Was Ihr in dem Video seht, ist pure FireMonkey, mit Ausnahme der Druckfunktion, die habe ich erst mal in einer VCL-DLL belassen, weil ich im Zusammenhang mit der bald folgenden MAC-Version noch den einen oder anderen Punkt klären muss. Außer dem TMSFMXBitmapConatiner habe ich keine Dritt-FMX-Komponente verwendet, auch die Grids die Ihr seht, sind reine FMX TGrids bzw. TStringGrids.

Das Programm unterstützt

* DDE zwischen VCL und FMX-Anwendung (direkt, ohne Umweg über VCL-DLL)
* Allgemeine Kommunikation zwischen VCL und FMX
* Explorer-Zwischenablage
* Exportfunktionen (EXCEL, CSV)
* PDF-Anzeige (ADOBE Reader muss installiert sein)
* PDF-Erstellung (über Einbindung eines PDF-Treibers)
* Zwischenablage-Funktionen (Kopieren, Einfangen von Text bei Änderung der ZW-Ablage).
* Dokumente per Scanner einscannen
* Umfangreiche grafische und bilanzielle Auswertungen (Chartfunktionen)

... und einiges mehr (soll ja keine Werbeaktion hier werden, will eben nur die Funktionalität andeuten, die auch mit FMX machbar ist).

Es fehlt absolut nichts im Vergleich zur VCL-Vorgängerversion.

Bedingt durch den Wechsel von Delphi 2007 auf XE5 (und mitführen einer zusätzlichen VCL-DLL) wächst das Installationspaket von ca. 2,6 MB auf 5,8 MB. Das hält sich m.E. noch im Rahmen. Der Zuwachs ist auch nicht durch FMX bedingt, sondern durch den ganz normalen Aufwuchs der erzeugten Programm-EXE-Datei, die sich mit jeder neuen Delphi-Version ergab. Das Programm ist in allen Funktionen Pfeilschnell.

Gut, ich habe wieder den einen oder anderen Workaround hinzulernen müssen, aber insgesamt betrachtet kann ich aus meiner Sicht nur zusammenfassend feststellen:

Ja, es ist definitv möglich, mit FireMonkey Business-Anwendungen zu machen.

Hier auf Youtube könnt Ihr auf meinem Office-Collection Chanel eine kurze Vorstellung des Programms ansehen: https://www.youtube.com/watch?v=M2jUtYJZ-P4

Geändert von Harry Stahl (29. Mär 2014 um 01:39 Uhr)
  Mit Zitat antworten Zitat
arnof

Registriert seit: 25. Apr 2013
1.261 Beiträge
 
Delphi 10.1 Berlin Enterprise
 
#2

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 29. Mär 2014, 08:56
ja auf den ersten Blick ganz schön. Auch das Grid sieht ganicht schlecht aus. Fragen was macht das Livebinding wenn die Datenmenge ansteigt ? Geht das in die knie oder ist es weiterhin benutzbar ?

Warum für Windows ? Da habe ich funktionierende VCL also nur für Crossplattform:


FMX und Business: ja ich habe da schon öfters mal angefangen und bin an den Basics gescheitert:


XE2: erste Version konnte auf MAC überhaupt nicht drucken wurde aber als Bussinesstool beworben (ich weiss Papierloses Büro = Kundenloser Businessentwickler )

XE2 SPx: ja dann konnte man wahrhaftig Flaggen drucken via Canvas (ist aber auf Delphi 1.0 habe ich auch keine Lust mehr!)

XE3: Druck nicht viel besser aber ME versprach Abhilfe in Form von FAST REPORT. OK SQLLite für eine kleine Anwendung ausgesucht (war eines der Mainfeatures bei XE3) . Der Treiber ist/war nur Müll nicht benutzbar!

XE3: devart brachte irgendwann einen passenden Treiber Fastreport kam auch ups da gabs schon XE4 ….

XE4: bis die Komponenten dafür kamen hat man halt Mobil versucht …. PS FastReport V1.1 ist sogar benutzbar ….

XE5 Fastreport 2.0: nur Müll nicht benutzbar: Menüs gehen fast nicht ….

XE5 Fastreport 2.1 von letzter Woche: noch keine endgültige Meinung ja habe gestern nur mal kurz getestet: besser aber verkaufbar ?

Ach ja XE.. : nächste Woche ist schon April, das wird wohl nicht mehr lange dauern, da geht's wieder von vorne Los: auf Komponentenwaren, bis die geben wird's wohl XE7 geben

Geändert von arnof (30. Mär 2014 um 07:15 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#3

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 29. Mär 2014, 10:47
ja auf den ersten Blick ganz schön. Auch das Grid sieht ganicht schlecht aus. Fragen was macht das Livebinding wenn die Datenmenge ansteigt ? Geht das in die knie oder ist es weiterhin benutzbar ?
Livebinding oder irgendetwas im Sinne von klassischen Datenbanken verwende ich hier nicht (und sonst auch nie in meinen Programmen). Das macht mich unabhängig von irgendwelchen Drittherstellern. Hier verwende ich eigene Lösungen, der Datenumfang kann hier im Bereich von 100.000 Datensätzen oder mehr ohne Probleme gefahren werden. Für die Art der Programme, die ich vertreibe, reichte das bislang immer aus.

Warum für Windows ? Da habe ich funktionierende VCL also nur für Crossplattform:
Wie gesagt, MAC-Version folgt in 1-2 Wochen, werde ich hier dann mal ergänzend posten. 90% von den Dingen, die im Video zu sehen sind, laufen auch schon genauso auf dem MAC, wollte erst mal die Windows-Version fertig haben, damit ich hier schon aktuell weiterarbeiten und Kundenwünsche erfüllen kann.

Das war natürlich Ziel des ganzen, die Sache auch auf dem MAC zu haben, sonst hätte ich es ja nicht unbedingt auf FMX umstellen brauchen. Aber noch sind die meisten Kunden halt auf der Windows-Schiene unterwegs, daher sollten die erst mal mit den Erweiterungen (per kostenpflichtigem Update ) bedient werden.

FMX und Business: ja ich habe da schon öfters mal angefangen und bin an den Basics gescheitert:

XE2:...
Mag ja sein, dass es eine Reihe von Problemen gab und auch weiterhin gibt. Ich muss gestehen, dass ich zwischendurch auch ganz schön geflucht habe. Mich ärgert insbesondere dass dummdämliche Bugs über Versionen hinweg verschleppt und nicht behoben werden.

Ihr könnt sicher sein, wenn die allerdämlichsten Fehler in XE6 nicht raus sind, werde ich EMBA gehörig auf die Pelle rücken (jedenfalls im Minimum die Fehler betreffend, die ich selber bei QC gemeldet habe).

Aber wie gesagt, mir ging es hier ja nicht darum noch mal aufzuzeigen, was nicht geht, sondern was geht. Und es geht eben doch eine ganze Menge.

Ich werde in ein paar Tagen auch mal einen neuen Blogeintrag auf meinem Firemonkey-Blog machen, wo ich quasi einen Erfahrungsbericht zur Umstellung dieses Programmes wiedergebe incl. der Beschreibung, wie man einige Klippen umsegelt.

Geändert von Harry Stahl (29. Mär 2014 um 10:50 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 29. Mär 2014, 11:27
Ist das Programm auch mit der Tastatur bedienbar?
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#5

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 29. Mär 2014, 11:58
Ist das Programm auch mit der Tastatur bedienbar?
Hmmh, seltsame Frage. Kann man natürlich nur mit "Ja" beantworten, würde nie auf die Idee kommen, ein Programm zu vertreiben, wo das nicht so wäre.

Nehme mal an, Du sprichst auf eines der bekannten FMX-Probleme an, per Tabulatortaste in einem Dialog gemäß Tabfolge vor oder zurück zu springen? Dafür habe ich einen Workaround entwickelt.

Wie gesagt, solche und ähnliche Dinge werde ich in den nächsten Tagen im Blogbeitrag bringen (zunächst muss ich das aber in meinem FireMonkey-Buch darstellen, wo ich nun gerade eben dran arbeite, da ist die angekündigte Aktualisierung schon mehr als überfällig).
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 29. Mär 2014, 12:15
Ich sehe jedenfalls nirgendwo Hotkeys, das meinte ich eigentlich damit. Weder in den Menüs noch auf den Buttons.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Stevie
Stevie

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

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 29. Mär 2014, 17:24
Ist das Programm auch mit der Tastatur bedienbar?
Hmmh, seltsame Frage. Kann man natürlich nur mit "Ja" beantworten, würde nie auf die Idee kommen, ein Programm zu vertreiben, wo das nicht so wäre.
Dem muss ich mal widersprechen. Wenn ich Alt drücke, komme ich nicht ins Menü wie unter Windows üblich. Außerdem haben die einzelnen Menüeinträge keine Mnemonics. Ob das ein FMX Makel ist oder von dir nicht berücksichtigt, weiß ich nicht. Auch in den einzelnen Eingabefenstern kann ich nicht mit nem Shortcut eine Seite weiter oder sowas (fehlende Accelerators auf den Buttons bzw fehlende Shortcuts auf den Actions dahinter).

mit FireMonkey auch echte Business-Anwendungen erstellen kann, bin ich so frei und poste hier mal einen Video-Link auf mein soeben veröffentlichtes Rechnungsprogramm PC-Rechnung 3.0. Ich denke, ein Rechnungsprogramm kann man ja wohl als klassische Business-Anwendung bezeichnen.
Hier möchte ich hinzufügen, dass wir uns hier eher am unteren Ende der Business-Anwendungen befinden. Die Anwendung ist in ihren Funktionen doch sehr überschaubar. Ob du noch so von FMX begeistern wärst, wenn du mal ne große ERP oder sowas damit bauen müsstest, weiß ich nicht. Auch kann ich ohne erstmal stundenlang irgendwelche Artikel und Rechnungen ins System zu tippern nicht sagen, wie die Anwendung sich mit vielen Daten verhält. Denn genau da liegt oft der Hase im Pfeffer - ok, ohne LiveBindings wirst du immerhin nicht das Problem haben, dass du nur 300 Datensätze durchscrollen kannst, was wir hier in einem anderen Thread hatten. Und auch das träge Scrollen einiger Controls mit vielen Daten.

Ich verstehe überhaupt nicht, warum man hier krampfhaft versucht, Harry's Leistung klein zu reden oder sogar als kontraproduktiv zu deklassieren. Immerhin hat er aus eigener Kraft deutlich mehr geschafft als so manch anderer
Harry ist der MacGuyver des FireMonkey - mit nem Kaugummi, ner Büroklammer und nem Schweizer Taschenmesser bekommt er es zum Laufen.
Aber mal im Ernst, wenn man erst noch sämtliche Bugs im Framework ausbügeln oder Workarounds anwenden muss, ist das wohl kaum "rapid". Und schon gar nich ++.

Übrigens noch nen kleiner Bugreport: Wenn ich im Rechnungsfenster nur einen Namen eingebe und dann auf Weiter klicke, kommt "Listenindex überschreitet das Maximum (-1)" was an der nicht ausgefüllten Bestellart Combobox liegt. Außerdem aktivieren sich die Fertig Buttons, wenn ich oben auf das Tab Angebot wechsle.
Stefan
“Simplicity, carried to the extreme, becomes elegance.” Jon Franklin

Delphi Sorcery - DSharp - Spring4D - TestInsight

Geändert von Stevie (29. Mär 2014 um 17:29 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von Union
Union

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

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 31. Mär 2014, 20:25
Und nun zu etwas ganz anderem - dem eigentlichen Thema. Harry schrieb:
Das Programm unterstützt

* DDE zwischen VCL und FMX-Anwendung (direkt, ohne Umweg über VCL-DLL)
* Allgemeine Kommunikation zwischen VCL und FMX
* Explorer-Zwischenablage
* Exportfunktionen (EXCEL, CSV)
* PDF-Anzeige (ADOBE Reader muss installiert sein)
* PDF-Erstellung (über Einbindung eines PDF-Treibers)
* Zwischenablage-Funktionen (Kopieren, Einfangen von Text bei Änderung der ZW-Ablage).
* Dokumente per Scanner einscannen
* Umfangreiche grafische und bilanzielle Auswertungen (Chartfunktionen)
Ich würde es eher begrüßen, wenn Harry hier zu den einzelnen Punkten was sagen könnte.

Wie erfolgt die DB-Anbindung? Wird bereits FireDAC eingesetzt?.

Wo lagen die besonderen Schwierigkeiten der Umsetzung? Wie wurden diese beseitigt? Sind die seit Beginn der Arbeiten bzw. der Umstellung von der VCL-Version inzwischen durch Embarcadero gefixt? Gibt es QC-Einträge - nicht umsonst hat er ja vor einiger Zeit darüber geblogged.

Wurde schon so vorausschauend programmiert dass die Umstellung auf OSX nicht wieder alles über den Haufen wirft? Fragen über Fragen, die mich jedenfalls interessieren würden.
Ibi fas ubi proxima merces
sudo /Developer/Library/uninstall-devtools --mode=all
  Mit Zitat antworten Zitat
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.558 Beiträge
 
Delphi 12 Athens
 
#9

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 31. Mär 2014, 23:27
Ich würde es eher begrüßen, wenn Harry hier zu den einzelnen Punkten was sagen könnte.

Wie erfolgt die DB-Anbindung? Wird bereits FireDAC eingesetzt?.

Wo lagen die besonderen Schwierigkeiten der Umsetzung? Wie wurden diese beseitigt? Sind die seit Beginn der Arbeiten bzw. der Umstellung von der VCL-Version inzwischen durch Embarcadero gefixt? Gibt es QC-Einträge - nicht umsonst hat er ja vor einiger Zeit darüber geblogged.

Wurde schon so vorausschauend programmiert dass die Umstellung auf OSX nicht wieder alles über den Haufen wirft? Fragen über Fragen, die mich jedenfalls interessieren würden.
Ich glaube, ich habe irgendwo schon erwähnt, dass ich im Laufe der Woche einen Beitrag in meinem FireMonkey-Blog machen will, quasi als Erfahrungsbericht. Das geht mit meinem Webbearbeitungsprogramm deutlich einfacher, als hier in diesem kleinen Editierfenster (das für sich schon viele tolle Möglichkeiten bietet, aber längerer Text ist etwas anstrengend).

Aber vorab schon mal kurz zu Deinen Fragen (später detaillierter):

* DB ist eine eigene Lösung, es ist einfach eine eigene CSV-Datenbank, die ich z.B. auch in meinem Datenbankprogramm PC-Database verwende (mit zusätzlichen Verwaltungsmöglichkeiten), alle Daten werden in den Arbeitsspeicher geladen.

* Habe am 02.03. mit der Umsetzung angefangen. In der Zeit gab es keine Bugfixes von EMBA, Probleme musste ich leider alle selber mit Workarounds lösen (insbesondere das Tab-Order-Problem, die Alt+Tastenkombination-Problematik und das Aufpoppen von Popup-Menüs oder Dropdownlisten auf dem falschen Monitor auf Multimonitor-Systemen, bzw. jetzt noch nach Euren Hinweisen das Zeichnen der Unterstriche in den Buttons). Ausstehend sind noch die Hints. Ich musste also für 2 Workarounds die Original-FMX.Forms.pas in das Projektverzeichnis kopieren und den FMX-Original-Source-Code ändern. Das hat so gesehen noch verhältnismäßig viel Zeit gekostet. Ich werde die Lösungen dann im Blogbeitrag frei posten.

Das Umwandeln selber ist mehr oder weniger einfach nur "Fließband-Arbeit". Da ist der MIDA-Converter eine große Hilfe, insbesondere, beim Umwandeln erst mal den Source-Code auskommentieren zu lassen, da kann man dann Schritt für Schritt vorangehen und das Programm läuft zu jeder Zeit.

* Ja, ich habe zwischendurch immer mal MAC kompiliert, aber mir gewisse Dinge da noch ausgespart. Lösungen (etwa PDF-Anzeige auf MAC) liegen hier fast alle schon vor, muss ich einfach nur noch implementieren. Habe aber immer an den Stellen, wo ich weiß, da ist Plattform-Code erforderlich, alles mit $IFDEFS versehen. Muss da dann den MAC-Zweig entsprechend ergänzen. Also ja, schon Vorausschauend.

* Was ich jetzt schon sagen kann (ich hatte es befürchtet, wollte es aber mit den EMBA-Grids einfach mal durchziehen): Werde die Grids, wo viele Datensätze drin sind, durch TMS-Grids ersetzen. Die EMBA-Grids sind auf dem MAC einfach zu langsam (Windows geht). TMS-Grids gehen gut und schnell, wenn man die nur virtuell nutzt (mache ich übrigens seit je her nur so) und auch Suche, Filterung und Sortierung selbst übernimmt. Das sollte nicht lange dauern, habe schon Erfahrungen mit dem TMS-Grid unter VCL gesammelt und auch die FMX-Variante schon in meinem Copy Backup-Programm benutzt. Mehr als 4-5 Stunden sollte das Austauschen nicht dauern.

Mehr folgt später...

Geändert von Harry Stahl (31. Mär 2014 um 23:38 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von nachti1505
nachti1505

Registriert seit: 7. Apr 2007
188 Beiträge
 
Delphi 7 Enterprise
 
#10

AW: Business-Anwendung mit FireMonkey erstellen

  Alt 2. Apr 2014, 09:11
Erstmal Hut ab vor deinem Vorreiterversuch, der anscheinend sogar sehr erfolgreich gelaufen ist (y).

TMS-Grids gehen gut und schnell, wenn man die nur virtuell nutzt (mache ich übrigens seit je her nur so)
Wie ist das gemeint? Wie nutzt man die Grids nur virtuell?
  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 20:36 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