AGB  ·  Datenschutz  ·  Impressum  







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

Quo vadis Embarcadero?

Ein Thema von Codehunter · begonnen am 19. Feb 2014 · letzter Beitrag vom 9. Jul 2014
 
Benutzerbild von Harry Stahl
Harry Stahl

Registriert seit: 2. Apr 2004
Ort: Bonn
2.479 Beiträge
 
Delphi 11 Alexandria
 
#13

AW: Quo vadis Embarcadero?

  Alt 21. Feb 2014, 21:17
Bei Oxygene muss man halt die GUI neu machen, da es keine VCL mehr gibt. Das ist analog zu der Umstellung VCL zu FMX, richtig?

...- UI wegwerfen (wie beim VCL/FMX Wechsel)
Das stimmt nur bedingt. Mit dem MIDA-Converter kann man zumindest sehr gut die Programm-Oberfläche konvertieren.

Ich mache das jetzt überwiegend so, dass ich einfach in der VCL-Form alle Controls auswähle, kopiere und in eine neue Form einfüge. Dann habe ich also nur VCL-Oberfläche ohne Source-Code. Bei einzelnen "Kandidaten" (z.B. TNotebook) funktioniert die Konvertierung (noch) nicht, da ändere ich die dann schnell in Controls um, wo ich weiß, dass es funktioniert (in diesem Fall also ein TPageControl). Dann lasse ich dort den MIDA-Converter drüber laufen und habe ratz fatz meine Oberfläche unter FMX wie unter der VCL. HIer könnt Ihr Euch das mal in meinem Video-Blog ansehen (Tipp: Vollbild und 720 DPI).

Dann kann ich Schritt für Schritt wieder die einzelnen Ereignisroutinen "befüllen", wobei es sich dort anbietet, UI und Code mehr zu trennen, falls man es eh nicht schon getan hat. Das schöne daran ist, dass man von Anfang an ein lauffähiges Programm hat und es schrittweise vervollständigen kann.

Da man in umfangreicheren Projekten ja durchaus 100 Formulare oder deutlich mehr hat, sehe ich da die größere Arbeit (und hier nimmt einem der MIDA-Converter wirklich viel Arbeit ab), als den Source-Code zu portieren. Delphi- und FMX-Funktionen sind eh schon in vielen Bereichen gleich (insbesondere der nicht visuelle Bereich), so dass der meiste Code, der unter Windows VCL/RTL funktionierte, ohne viel Änderungen auch unter Windows FMX/RTL funktioniert (also z.B. Streams, Stringlisten, eigene Klassen, usw). Nebenbei funktioniert das Meiste sogar auch schon so unter MAC OS X, ohne dass IFDEFS zwischen Windows und MAC OS X für unterschiedlichen Source-Code sorgen müssten.

Außerdem kann man das eine oder andere unter FMX auch mit deutlich weniger Zeilen Source-Code erreichen. In meinem VCL-PixPower-Programm brauche ich zur Anzeige (Owner-Draw) von Grafiken unterschiedlichen Formats aus einem Verzeichnis in einer Listbox ("Dialiste") ca. 200 Zeilen Sourcecode. Daneben kommen noch mehrere 100 Zeilen, um die Dateien einzulesen, daraus Thumbnail-Dateien zu machen und für den Zugriff bereit zu halten.

In FMX brauche ich für ALLES das (also einlesen und Anzeige) nur ca. 80 Zeilen!!! Und das ist ein Crosscompile-Lösung, die ohne ein einziges IFDEF sowohl unter Windows als auch unter MAC OS X funktioniert.

Geändert von Harry Stahl (21. Feb 2014 um 23:46 Uhr)
  Mit Zitat antworten Zitat
 


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 15:33 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