![]() |
Business-Anwendung mit FireMonkey erstellen
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.:thumb: Hier auf Youtube könnt Ihr auf meinem Office-Collection Chanel eine kurze Vorstellung des Programms ansehen: ![]() |
AW: Business-Anwendung mit FireMonkey erstellen
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 :cyclops:) 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 :pale: |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Zitat:
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 :wink:) bedient werden. Zitat:
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. |
AW: Business-Anwendung mit FireMonkey erstellen
Ist das Programm auch mit der Tastatur bedienbar?
|
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
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). |
AW: Business-Anwendung mit FireMonkey erstellen
Ich sehe jedenfalls nirgendwo Hotkeys, das meinte ich eigentlich damit. Weder in den Menüs noch auf den Buttons.
|
AW: Business-Anwendung mit FireMonkey erstellen
Doch, Hotkeys sind verschiedene drin, z.B. F9 um den Dialog aufzurufen, mit dem man die Rechnung als bezahlt markieren und das genaue Zahlungsdatum angeben kann. Die Einträge sind auch in den Menüs zu sehen, war dann nur Zufall, dass im Video Menüs ohne Hotkeys zu sehen waren (edit: Im Menü Datei war zumindest ein Eintrag zu sehen, mehr sind im Rechnungsmenü drin, das im Video aber nicht gezeigt wurde).
|
AW: Business-Anwendung mit FireMonkey erstellen
Ich muss sagen, ich bewundere Dich wirklich - gleichzeitig finde ich Deinen Einsatz etwas kontraproduktiv.
Beeindruckend finde ich wie Du Dich durch die FMX-Probleme durchbeißt und nicht aufgibst und letztlich sind die Ergebnisse ja auch sehr ansprechend. ABER: Du schreibst selbst, dass Du die LiveBindings (LB) nicht benutzt und jede Menge Workarounds für verschiedene Probleme und Bugs verwendest. Das kann aber doch nicht Sinn und Zweck sein. FMX + LB wurde als geniales Konzept verkauft, das einfache und perfekte Arbeitsvoraussetzungen schafft. Gehalten wurde davon kaum etwas. Nach und nach wird das stückweise ausgebaut. Wenn ich mich in jeder FMX-Version wieder mit anderen Problemen herumschlagen muss (und ich neue Versionen teuer kaufen muss) habe ich keinen Bock mehr da drauf. FMX sollte ja mehr bieten als Cross-Plattform-Entwicklung sondern es sollte die Arbeit u.a. mit den Livebindings deutlich vereinfachen. Von den Versprechungen bleibt leider wenig übrig. Respekt für Deine Arbeit, aber FMX ist für mich unter den gegebenen Umständen keine Alternative mehr (auch wenn ich anfangs sehr interessiert und nach ersten oberflächlichen Eindrücken begeistert war). |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Glaube nicht, dass es mir Spaß machen würde, Workarounds zu erarbeiten, das nimmt mir einen verhältnismäßig großen Anteil von meiner wirklich knappen Zeit für die eigentliche Programmentwicklung. EBMA muss in den folgenden Versionen wieder einiges gut machen, will man entäuschte Anwender hier wieder zurück gewinnen. Nichts detsto trotz, auch unter Abwägung der ärgerlichen Umstände ermöglicht FMX mir die Bedienung von Plattformen, die ich sonst nicht oder nur mit erheblich mehr Aufwand bedienen könnte. Wie gesagt, vollen Respekt für Lazarus, aber die Probleme, die ich da (zumindest bis vor 2 Jahren) mit der Entwicklung von MAC oder Linux-Programmen hatte: da sind die FMX-Probleme harmlos gegen. In der Summe hat FMX für mich (für einige andere mag das eben anders sein) einen Wert, auf den ich nicht verzichten möchte. |
AW: Business-Anwendung mit FireMonkey erstellen
Ok man kann dann auch OSX für Desktop Anwendungen. Aber die sehen weder unter Win noch Mac so aus wie sie sollten. Keine acceleratoren auf den Buttons, falsche Fonts, falsches Verhalten, nicht behinderten gerecht, laufen nicht gut unter Terminalserver etc.
|
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
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 :thumb: |
AW: Business-Anwendung mit FireMonkey erstellen
Kleinreden will ich die Leistung keinesfalls (ich finde das Ergebnis bewundernswert) und kontraproduktiv muss ich vielleicht begründen:
Ich denke, Harrys Leistung trägt dazu bei, dass sich Emba auf dem aktuellen Stand noch eher ausruht und FMX als Super-Framework lobpreist. Harrys Leistung ist beeindruckend, keine Frage. Aber der Weg zum Ziel ist lange nicht so unkompliziert wie das mit Einführung von FMX suggeriert wurde. Die inakzeptable Preispolitik kommt hinzu. Fazit für mich: Auch wenn man mit Klimmzügen zu einem durchaus respektablen Ziel kommt führt das für mich nicht mehr dazu, dass ich die Entwicklungsumgebung wirklich ernst nehmen kann. Besser wäre gewesen, Emba hätte sich die Zeit genommen, das Ganze nochmal neu und mit ordentlicher Qualität anzugehen. |
AW: Business-Anwendung mit FireMonkey erstellen
Lieber Uwe, erst mal danke für Deinen Beistand hier.:)
Aber keine Sorge, ich habe Stahli (oder einen anderen) nicht so verstanden, dass er meine Leistung schmälern wollte. Stahli hat ja auch jetzt noch mal genauer erklärt, wie er es meinte. Ich muss Stahli aber entgegnen, dass die Lösungen EUCH helfen sollen oder sagen wir mal, den Leuten, die in einer ähnlichen Situation sind wie ich und praxistaugliche Cross-Plattform-Lösungen abliefern müssen. Ich glaube auch nicht, dass sich EMBA wegen MIR bzw. der Workarounds weniger anstrengen wird, das Produkt zu verbessern. Ich finde auch die Hinweise von Union wichtig in dem Sinne, dass man die Probleme kennt und dann daran arbeiten kann. Wäre ja auch nicht so gut, wenn erst der Kunde mir etwas berichtet, was nicht geht. Noch etwas wichtiger finde ich aber, dass man sich dann auch um Lösungen kümmert. Am Ende möchte ich hören, WIE ES GEHT und nicht immer nur, dass etwas nicht geht. |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Apple sagt: "Ja" FMX Anwendungen gehen für den MAC-Desktop. Denn Apple hat sowohl meine und die FMX-Anwendungen von anderen Herstellern in den App-Store genommen. |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Zitat:
Zitat:
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. |
AW: Business-Anwendung mit FireMonkey erstellen
>Livebindings<
Hier muss ich mal wieder meinen Senf dazu geben. So viel ich auch darüber nachdenke, ich kann damit nichts anfangen. Das einzige was ich visuell mache, sind Komponenten auf der Form oder dem Frame plazieren, die man zur Laufzeit auch sieht. Alles andere "programmiere" ich. Ob es Dialoge sind, Datenbankkomponenten, Internetsachen oder sonstige "nicht Visuelle" Komponenten. Alles wird bei mir "created" und "destroyed". Ich finde Quellcode viel übersichtlicher als den Objektinspektor. Warum sollte ich Livebindings verwenden? Bei 4-5 Tabellen kann man vieleicht noch die Zuordnungen erkennen. Bei richtig komplexen Dingen verliert man doch total den Überblick. Oder? Ich muss immer wieder den Kopf schütteln, wenn ich bei den Delphitagen zum Hundertsten mal von David.I oder sonstigen Emba-Leuten zu hören bekomme, was alles mit "einer einzigen Zeile Quellcode" gemacht wurde. Klar, der Rest wurde geklickt und nimmt auch Zeit in Anspruch. Was ist daran so schlimm, auch mal 10 oder 20 Zeilen zu schreiben und dafür weniger zu klicken. Ich bin doch Programmierer und kein Klicker. Das musste mal gesagt werden. |
AW: Business-Anwendung mit FireMonkey erstellen
Nichtsdestotrotz sollten LiveBindings aber funktionieren; was sie leider nicht richtig tun.
Man sieht, dass FMX grundsätzlich für "richtige" Anwendungen verwendbar ist, wenn auch noch viele Stolpersteine und Unzulänglichkeiten bestehen. Btw. finde ich es nicht "kontraproduktiv" eigene Fehlerbereinigungen/Alternativlösungen zu schaffen! Auh wird dies in keinster Weise beeinflussen, ob und welche Fehler von EMBT ignoriert/korrigiert oder als as-designed betrachtet werden. |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
|
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Daher jetzt in Anbetracht der Uhrzeit nur noch mal kurz in Stichworten: * Menüs, Accelerator, wie von Dir angesprochen, sollten in der Tat noch verbessert werden. * Wenn Grid oder TStringGrid nicht reichen, besteht Alternative des TMS StringGrid, das ist schnell und gut, auch mit vielen 100.000 Datensätzen drin. * Deinen MacGuyver-Vergleich finde ich ganz witzig und irgendwo auch zutreffend, so komme ich mir in der Tat gerade vor. * Was ich mit Rapid und ++ meine, zeige ich demnächst mal in einem kleinen Video, es gibt nämlich in der Tat ein paar Sachen, die im Vergleich zur VCL viele Stunden Entwicklungsarbeit sparen. * Danke für den Bugreport:thumb:, den Listenindex-Fehler habe ich behoben (das aktivieren der Buttons ist kein Problem, es kommt eine Meldung, wenn nicht alles richtig ausgefüllt ist). |
AW: Business-Anwendung mit FireMonkey erstellen
In Sachen TMS Grid und Geschwindigkeit muss ich Dir leider widersprechen. In VCL habe ich es erst rausgeworfen, da es mit vielen Datensätzen unerträglich langsam ist. Dort habe ich die TMS eigene Suche aktiviert. Bei vielen Datensätzen ist es unerträglich (pro Tastendruck 30 sec und länger). Auch die TMS eigenen Bugs (die man nicht immer gleich merkt) machen mich echt Wahnsinnig (zum FMX Grid hatte ich hier auch mal eine Lösung gepostet, da TMS immer behauptete da währe kein Bug) …
XE5 und Mac OS, hier gehen echte Oberbasics einfach nicht: Beispiel ich habe eine App im Appstore und bekomme mind. pro Woche eine Beschwerde, das die User nicht speichern können!. Die haben ältere Mac OSx was ich leider nicht mehr habe (10.6,10.7), da funktionieren die Savedialoge einfach nicht! Lösung einen selbst Programmieren :pale: Nächstes Problem, wenn eine Anwendung mal ein paar mehr User hat, so bekommt man auch User die Barierefreiheit benötigen (z.B. Sehschwäche). Die Betriebssysteme bieten hierfür Tools, die aber natürlich mit FMX nicht gehen. PS: ich werde es aber weiterhin versuchen was zu veröffentlichen: zum Thema Fastreport, den bekommt man aber nur durch den Review in dem man diesen vor dem Reviewer versteckt. |
AW: Business-Anwendung mit FireMonkey erstellen
Ich kann arnof nur zustimmen. Der Mangel an Barrierefreiheit ist ein NoGo auf Desktopsystemen. Ich muss gestehen das ich das gerne mal verdränge, aber zumindest außerhalb von Tablet und Telefon sollte man das schon berücksichtigen. Nichtsdestotrotz bin ich gespannt wie deine Macversion aussehen wird. Vom Grundgedanke unterscheidet sich Mac und Windows ja in der Nutzerführung.
Hast du eigentlich das Problem mit der Menüleiste in den Griff bekommen? In XE5 musste ich ganz schön tricksen, damit das halbwegs nativ funktioniert. |
AW: Business-Anwendung mit FireMonkey erstellen
Liste der Anhänge anzeigen (Anzahl: 1)
Zitat:
Im OnkeyDown-Event der Form prüfe ich dann, ob eine Alt+Buchstaben bzw. Alt+Ziffern Kombination gedrückt wurde und rufe dazu das passende Event dafür auf (also entweder ButtonClick oder Wechsel der Seite des TTabControls). Ich muss da allerdings zu einem wirklich abenteuerlichen Trick greifen, dass bei der Alt+Tastenkombination nicht eine Tonausgabe in Form eines "beep" kommt. Den Wert von Key auf Null oder KeyChar auf #0 zu setzen bringt leider nichts. Das einzige was das "beep" vermeidet, ist kurzfristig den Focus an ein anderes modales Fenster abzugeben. Also erzeuge ich ein kleines Fenster, das ich außerhalb des sichtbaren Anzeigebereichs anzeigen lasse. Sofort schließt es sich wieder und der eigene Dialog hat wieder den Focus (das macht der Aufruf von "Killfocus"). Es sollte noch erwähnt werden, dass das "Beep" seltsamerweise nicht kommt, wenn man eine Alt-Key+Accelerator-Taste Abfrage in der Hauptform macht. In einem modalen Dialog kommt der Ton aber. So sieht das im OnKeyDown-Event dann aus:
Code:
Was übrigens seltsam ist, das Abfragen der Alt-Key-Taste funktioniert nur, wenn die Optimierung in Delphi ausgeschaltet ist. Schräg, oder?
procedure Tf_Bill.FormKeyDown(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState); begin if HandleTabEvent (self.GetFocused, Key, Shift) then exit; if key = vkEscape then close; if (Shift = [ssAlt]) then begin case Key of 49..52: begin pc1.TabIndex := key-49; KillFocus (self); end; 87: begin if bnWeiter.Enabled then begin bnWeiterClick(NIL); KillFocus (self); end; end; 90: begin if bnBack.Enabled then begin bnBackClick(NIL); KillFocus (self); end; end; 70: begin if bnReady.Enabled then begin bnReadyClick(NIL); KillFocus (self); end; end; 72: begin bnHelpClick(NIL); KillFocus (self); end; end; end; end; Hat jemand vielleicht noch eine andere Idee, wie man das "beep" vermeiden kann? Die Lösung funktioniert zwar, aber ein leichtes Flackern ergibt sich und ehrlich gesagt, ist mir es ja ziemlich peinlich, so was machen zu müssen. Das mit dem Malen des Accelerator-Zeichen erreicht man dann, indem man in dem jeweiligen Paintereignis folgende Prozedur aufruft: procedure Tf_Bill.bnWeiterPaint(Sender: TObject; Canvas: TCanvas; const ARect: TRectF); begin DrawAccelerator (Sender, canvas, ARect); end; Das "&" Zeichen könnt Ihr in den Buttons wie gewohnt setzen (im TTabItem geht das leider nicht, da wird dann immer das erste Zeichen mit einem Unterstrich versehen). Die DrawAccelerator procedure sieht aus wie folgt, derzeit werden TButton, TSpeedButton und TTabItem unterstützt. Könnt Ihr natürlich frei verwenden.
Code:
procedure DrawAccelerator (Sender: TObject; canvas: TCanvas; ARect: TRectF);
var tf: tfilltextflags; a: TTextalign; r: TRectF; T: string; p: Integer; aw: extended; start, w: extended; col: TAlphaColor; begin canvas.BeginScene; r := ARect; col := TAlphaColorRec.black; if sender is TButton then begin T := TButton(sender).Text; w := TButton(sender).canvas.TextWidth(T); if TButton(sender).Enabled = false then col := TAlphaColorRec.gray; case TButton(sender).TextAlign of TTextAlign.taCenter: start := (TSpeedButton(sender).Width -w) / 2; TTextAlign.taLeading: start := 1; TTextAlign.taTrailing: start := TSpeedButton(sender).Width -w; end; end; if sender is TSpeedButton then begin T := TSpeedButton(sender).Text; w := canvas.TextWidth(T); case TSpeedButton(sender).TextAlign of TTextAlign.taCenter: start := (TSpeedButton(sender).Width -w) / 2; TTextAlign.taLeading: start := 1; TTextAlign.taTrailing: start := TSpeedButton(sender).Width -w; end; if TSpeedButton(sender).Enabled = false then col := TAlphaColorRec.gray; end; if sender is TTabItem then begin T := TTabitem(sender).Text; w := canvas.TextWidth(T); case TTabItem(sender).TextAlign of TTextAlign.taCenter: start := (TSpeedButton(sender).Width -w) / 2; TTextAlign.taLeading: start := 8; TTextAlign.taTrailing: start := TSpeedButton(sender).Width -w; end; start := start + 10; end; if T = '' then begin canvas.EndScene; exit; end; P := pos ('&', T); aw := canvas.TextWidth(copy (T, 1, p)); tf := []; a := TTextAlign.taLeading; r.Top := r.Top + 6; r.left := start + aw-7; canvas.Fill.Color := col; Canvas.FillText(r,'_',false,1,tf,a,a); canvas.EndScene; end; |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
![]() |
AW: Business-Anwendung mit FireMonkey erstellen
Mit negativ musste aber aufpassen. Ich habe z.B. 3 Monitore dran der Haupt ist die Mitte linke Monitor ist bei DElphi der negative in X Richtung, d.h. Ich würde hier dein Dummyfenster sehen :!:
P.s. Trotzdem irgendwie V0.85 in vielem fühlt man sich echt in die 90'er zurückversetzt, prof. Entwickeln ist irgend wie anders... Der Destop ist seit XE3 irgendwie stehen geblieben und es wird nicht besser werden, zumindestens nicht vor Oktober! |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Bei dem von mir benutzen ".Left" Wert des Fensters von -8000 wird das wohl auf keinem derzeitigem Monitor angezeigt.:-D |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Zitat:
|
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Dazu musste nur in die öffentliche Roadmap schauen, da kann ich nichts Destopmäßiges entdecken. Ich würde gerne was WINDOWS 8 mäßiges Erzeugen können, ist aber nicht .... |
AW: Business-Anwendung mit FireMonkey erstellen
Harry, wie immer Hut ab! Ich ziehe meinen Hut vor der Arbeit und auch vor Deinem Kampfgeist. Ich habe 2 größere Projekte mit Firemonkey realisiert, die ich hier nicht nennen möchte. Ich war am Ende froh wie nach nem Hausbau: Geschafft, aber niemals wieder. Die Probleme und der Aufwand waren mir einfach zu hoch und die ganze Sache war mir einfach zu unberechenbar (wenn es bei mir "knallt", was passiert dann erst beim Kunden?). Ich habe aufgegeben, was aber letztendlich daran lag, dass selbst Kinderkrankheiten nicht behoben werden. Die Einnahmen auf z.B. Mac Seite stehen kaum in einem Verhältnis zum Aufwand, den ich dafür betreiben muss.
Dabei kränkelt FMX nicht an unlösbaren Problemen, sondern hauptsächlich an Bugs, bei denen man sich einfach nur mit der Hand vor die Stirn schlagen muss weil man nicht versteht, wie so etwas passieren kann und wieso es keiner korrigiert. Umso mehr ziehe ich meinen Hut vor Usern, die durchhalten. |
AW: Business-Anwendung mit FireMonkey erstellen
Um eines mal klarzu stellen: Wirklich eine tolle Leitung von Harry!
Ich versuche das seit es FMX gibt. Ich habe auch ständig den Bedarf nach Workarounds gehabt. Bin aber irgendwann an eine Stelle gekommen, wo ich im Grunde große Teile des FMX Sources hätte kopieren und überarbeiten müssen da eine halbwegs saubere Objektorientierte Beeinflussung von Fehlverhalten nicht mehr möglich war. Mal ein Beispiel um einen von EMB hardcodierten Text zu übersetzen:
Delphi-Quellcode:
Das Verhältnis zwischen Nutzlast und solchem Korrekturcode bzw. auch Platform-Spezifischem Code beträgt nach meinen Erfahrungen ca. 3:1.
procedure TfrmTarget.TransLateListViewButton(const AItem: TListViewItem);
var LComponent : integer; AComponent : TComponent; ALayout : TLayout; LButton : integer; AButton : TComponent; begin // Suche des echten Buttons // ListItem->ListView->TLayout->TSpeedButton->StyleLookup = 'listitemdeletebutton' for LComponent := 0 to AItem.Parent.ComponentCount-1 do begin AComponent := AItem.Parent.Components[LComponent]; if AComponent is TLayout then begin ALayout := TLayout(AComponent); for LButton := 0 to ALayout.ComponentCount-1 do begin AButton := ALayout.Components[LButton]; if AButton is TSpeedButton then begin // Eigene Übersetzungsfunktion, da TLang nicht den richtigen Sprachcode holt TSpeedButton(AButton).Text := _T('Löschen'); end; end; end; end; end; Ich benutze für Win32 Desktop weiterhin VCL. Umstellung auf FMX bringt mir nur Einschränkungen. Der Vorteil ist natürlich die gleiche Codebase (haha) für eine Mac-Anwendung nutzen zu können. FMX wird hier nur für iOS und Android apps verwendet. Und das auch nur für relativ unwichtige und kleine Teilgebiete, die man zur Not in ein paar Tagen nach ObjC oder Java umgestrickt bekommt. Denn ich weiß ja nie, ob nicht plötzlich wieder etwas aus FMX herausfällt oder grundlegend geändert wird weil auc EMB erkennt dass man mit der Lösung in einer Sackgasse steckt (so geschehen bei der Umstellung von FPC auf LMAA). Ich lasse mich aber gerne eines Besseren belehren. Deshalb bin ich gespannt auf die fertige Mac-App von Harrys Rechnungsprogramm - und vor allem den Erfahrungsbericht dazu. |
AW: Business-Anwendung mit FireMonkey erstellen
Hallo Harry,
jetzt habe ich mir das Programm auch mal runtergeladen und etwas damit rumgespielt. Wenn ich eine Rechnung ausdrucken möchte bekomme ich folgende Fehlermeldung --------------------------- --------------------------- Zugriffsverletzung bei Adresse 0095CAE8 in Modul 'PCRechnung.EXE'. Lesen von Adresse 00000058. --------------------------- OK --------------------------- Noch ein Nachtrag. Das war der Druckknopf der auf dem vierten Tabsheet angezeigt wird wenn ich eine Rechnung bearbeite Eins ist mir auch noch aufgefallen. Hints. Da war ja was mit Firemonkey. Hast Du die absichtlich nicht reingenommen oder wegen Firemonkey. Ich habe mir natürlich nicht die Hilfe durchgelesen sondern einfach rumgespielt. Da waren mir die Bedeutung von einigen Hints nicht klar Noch ein Fehler. Ich habe kein Angebot angelegt. Wenn ich da auf Faxen gehe kommt --------------------------- Pcrechnung --------------------------- '' ist kein gültiger Gleitkommawert. --------------------------- OK --------------------------- Zur tastatursteuerung ist mir auch noch was aufgefallen. Keine Ahnung ob es an Firemonkey (habe ich nach einigen wenigen Tagen an die Seite gelegt)oder an Dir liegt, aber ich finde es nicht schön und trage das hier ein. Dialog Artikel bearbeiten. Tabulatorreihenfolge falsch (Feld mehrwertsteuer wird beim Durchtippern mit Tab übersprungen) Kein Navigieren mit Pfeiltaste Links Rechts. Kein Abbruch des Dialoges mit Escape Kein F1 |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
|
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Zitat:
|
AW: Business-Anwendung mit FireMonkey erstellen
Erst einmal Danke für den Fehlerreport. Es waren alles Fehler, die entweder auf meiner Schusseligkeit beruhten oder insbesondere Sachen, wo ich eine Umstellung von 1-basierter Zählung auf 0-basierte Zählung noch nicht berücksichtigt hatte (FMX-Grids haben ja einen Extra-Header, so dass für Datenanzeige dort die Zählung bei 0 beginnt, während es bei VCL bei 1 beginnt, wenn man in Zeile 0 den "Header" gepackt hatte).
Zitat:
Zitat:
Zitat:
Zitat:
F1 ist kein Problem, OK, habe ich eingebaut. Esc kannst Du nun dort auch verwenden. Was Du mit Navigieren mit den Pfeiltasten meinst, ist mir nicht ganz klar. [/QUOTE] Also alles in allem waren die meisten der Dinge keine FireMonkey-Probleme, sondern Probleme, die sich jetzt in den meisten Fällen durch die Umstellung ergeben haben. |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Ich habe ja nichts gegen sachliche Kritik einzuwenden, aber so einen Umgang sollten wir hier nicht pflegen. Was Dein Virenschutzprogramm für ein Problem hat, weiß ich nicht. Jedenfalls sind alle meine Programme virengeprüft und mit einer Signatur versehen. |
AW: Business-Anwendung mit FireMonkey erstellen
:shock:
Ich weiß nicht, ob es daran liegt, dass wir bald Vollmond haben - aber wieso glauben derzeit so viele, sich derart gehen lassen zu können? Bleiben wir doch bitte sachlich. |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Keine Redefreiheit mehr?, keine wenn auch (nicht konstruktive) Meinung mehr?, Kein gesunder Streit der auch mal sein muss? Ja es ist dein Laden.. Aber immer gleich nen thread sperren nur weil dir was nicht passt auf alles und jeden rumnörgeln der dir nicht in den Kram passt. Die Leute reihenweise aus dem Forum vertreiben (Furtbichler) und Konsorte tsss... Wenn du keinen Bock mehr hast mach doch einfach den Laden zu. Und ja es steht dir frei auch mich zu entfernen. Destrotrotz muss das mal gesagt werden auch wenn andere kuschen aus Angst davor ausgeschossen zu werden. gruss |
AW: Business-Anwendung mit FireMonkey erstellen
[OT]Die letzten Beiträge waren aber schon sehr unter der Gürtellinie ohne etwas Konstruktives.[/OT]
|
AW: Business-Anwendung mit FireMonkey erstellen
Nein, Emil - es geht nicht um Zensur. Wenn aber einzelne Teilnehmer glauben, sie könnten andere grundlos angreifen, dann befinden sie sich im Irrtum. Das war eben gerade kein gesunder Streit. Die Verhaltensweise war es, die mir nicht passte. Auf die ich und andere mehrfach per PN aufmerksam machten. Und ab und an muss ich eine Entscheidung treffen, die nicht von allen Seiten begrüßt wird. Ich werde das Forum nicht schließen und der Spaß ist mir auch nicht vergangen - gerade wegen setze ich mich ja mit diesen Problemen auseinander. In allen Fällen hat es eine PN-Konversation gegeben. Spaß macht diese Facette meiner Arbeit an der DP wahrlich nicht.
|
AW: Business-Anwendung mit FireMonkey erstellen
Hallo
Ich bin mit meinem Dell Laptop (Windows 7) seit Jahren sehr zufrieden, aber mit Firemonkey erstellte Anwendungen laufen bei mir nicht. Ich habe auf dem Rechner in einer VM-Ware eine Testversion installiert und war von der Firemonkey Optik begeistert. Daraufhin habe ich die erstellte .exe auf dem Laptop direkt gestartet ==> Absturz (und zwar jede Testanwendung) Ich habe gerade das Rechnungsprogramm auspobiert ==> Das meiste läuft aber wenn ich z.B. links unten mit der Maus über die Schaltfläche fahre dann bekomme ich "Gleitkommadivision durch Null" das gleiche bei neuer Rechnung mit Maus im Register "2 Artikel" über die Combobox "Gleitkommadivision durch Null" ==> Ich vermute es liegt irgendwie an meiner Grafikkarte ==> Bin ich der einzige mit solchen Problemen ?, ich hätte mit FMX im professionellen Einsatz einfach Angst das Kunden mit solchen Effekten anrufen und ich kann nur sagen ==> Sorry kauft euch einen neuen Rechner. mfg Reinhold |
AW: Business-Anwendung mit FireMonkey erstellen
Zitat:
Ich sehe natürlich nicht was hinter den Kulissen passiert. Ich hoffe du trägst mir das nicht nach. back to the Root! gruss |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:10 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