Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Cross-Platform-Entwicklung (https://www.delphipraxis.net/91-cross-platform-entwicklung/)
-   -   Portierung eines Delphi 3 Programms zur App (https://www.delphipraxis.net/188635-portierung-eines-delphi-3-programms-zur-app.html)

ArminW 23. Mär 2016 09:26

Portierung eines Delphi 3 Programms zur App
 
Hallo Forum,

ich bin neu hier ... und programmiere seit vielen Jahren mit Delphi 3. Eines der Programme möchte ich gerne als App für Smartphones nutzbar machen. Da ich mit den neueren Entwicklungen rund um Delphi nicht viel Ahnung habe, meine Frage an die Experten, welcher Weg möglichst einfach und schnell zielführend sein könnte.

Erschwerend kommt hinzu, dass ich einige OCX Komponenten von National Instruments ("Component Works") eingebunden habe. Das sind Zeigerinstrumente und Graphik. Component Works läuft bereits auf Delphi 7 nicht mehr und gibts auch nicht mehr.

Wäre dieser Weg gangbar: Neues Delphi 10 anschaffen, Zeigerinstrumente "TMS Instrumentation Workshop" von www.tmssoftware.com dazu und mein Delphi 3 Programm schrittweise umbauen. Das fertige Programm einerseits als Win Programm und andererseits als App kompilieren. Geht das im Prinzip so einfach?

Was meinen die Experten?

Gruß, Armin

jaenicke 23. Mär 2016 09:38

AW: Portierung eines Delphi 3 Programms zur App
 
Ich glaube, dass es am sinnvollsten ist, das alte Programm als Vorlage zu benutzen und ein komplett neues Projekt zu erstellen.

Denn die Oberfläche musst du z.B. ohnehin komplett neu machen, da deine bisherige VCL-Oberfläche nur unter Windows funktioniert.

Bambini 23. Mär 2016 09:57

AW: Portierung eines Delphi 3 Programms zur App
 
Zitat:

Zitat von ArminW (Beitrag 1333624)
Wäre dieser Weg gangbar: Neues Delphi 10 anschaffen, Zeigerinstrumente "TMS Instrumentation Workshop" von www.tmssoftware.com dazu und mein Delphi 3 Programm schrittweise umbauen. Das fertige Programm einerseits als Win Programm und andererseits als App kompilieren. Geht das im Prinzip so einfach?

In der Theorie ja, aber ...
Man kann nur FMX (Firemonkey) und keine VCL Komponenten verwenden und die müssen auch für die mobilen Plattformen sein.
Die erwähnten TMS Komponenten scheinen VCL zu sein. Das funktioniert gar nicht.

Meist ist die Benutzerführung auf mobilen Geräten anders als auf dem Desktop, sodass es - wie jaenicke auch schon sagte - meist sinnvoller ist, die App als eigenes Projekt zu führen. Die können sich dann viele nicht UI units teilen.

himitsu 23. Mär 2016 11:39

AW: Portierung eines Delphi 3 Programms zur App
 
Und keine Windows-OCX.

ArminW 24. Mär 2016 07:57

AW: Portierung eines Delphi 3 Programms zur App
 
danke erst mal für die Antworten.

Nach weiteren Recherchen sieht's jetzt so aus:

"TMS instrumentation workshop" ist eine VCL. Als Alternative aus dem gleichen Haus gäbe es "TMS Pack for FireMonkey" (http://www.tmssoftware.com/site/tmsfmxpack.asp). Damit und mit Delphi 10 lassen sich wohl im Prinzip Apps kompilieren.

Dann gibt es wohl prinzipiell die Möglichkeit, ein Programm mit VCLs nach Firemonkey zu "übersetzen", beispielsweise mit der Hilfe von www.midaconverter.com.

Andererseits scheint nicht so einfach zu sein, ein beliebiges Delphi Programm mit Delphi 10 wahlweise als Win Programm oder als Android App zu kompilieren. Das kann funktionieren, muss aber nicht. Das hängt wohl nicht nur von den Komponenten aus der VCL ab.

Wer weiß mehr?

Gruß, Armin

Der schöne Günther 24. Mär 2016 08:13

AW: Portierung eines Delphi 3 Programms zur App
 
Ich kann dir nicht wirklich konstruktiv helfen, stattdessen möchte ich dir eher den Wind aus den Segeln nehmen, an automatische Konverter wie den von dir verlinkten zu hohe Erwartungen zu stellen.

So etwas macht sicher Sinn wenn man eine nicht allzu spezielle VCL-Anwendungen nach FireMonkey bringen möchte um sie auf Mac OS laufen zu lassen. Ein anderer Grund fällt mir nicht ein. Denn ohne diesen Konverter je ausprobiert zu haben bezweifele ich dass dieser die Erwartungen erfüllen kann die ein normaler Benutzer an eine Anwendung auf einem Smartphone oder Tablet hat: Neu-Ausrichtung bei Drehen des Geräts, Behalten des Bildschirminhalts wenn die App aus dem Speicher genommen wird, all das.

Vielleicht liege ich ja auch falsch, aber ich stimme jaenicke da voll zu: Setze dich mit FireMonkey auseinander und mache dann die Oberfläche neu.

Wo ich weiterhin Bedenken hätte: Delphi 3 kommt aus einer Zeit als ich grade in die Grundschule kam. Das hatte wahrscheinlich keine plattformunabhängigen Abstraktionen für Dinge wie Datei-Operationen, stattdessen hat man sich bei Pfad- und Dateinamen an Windows-Konventionen gehalten. Das wird man auch umbauen müssen wenn man auf andere Plattformen geht.


Wir haben grade einen ähnlichen Fall, eine alte Delphi-Anwendung soll auf einmal auch auf iOS und Android-Geräte kommen. Hier machen wir das Ding auch komplett neu und nehmen das alte als Vorlage.

Neutral General 24. Mär 2016 08:15

AW: Portierung eines Delphi 3 Programms zur App
 
Prinzipiell kannst du mit Firemonkey ohne allzu große Problem (oder z.T. auch ohne Probleme) ein Programm schreiben was sowohl auf Windows als auch auf mobilen Geräten läuft. (Prinzipiell auch ohne das TMS Pack)
Dein Problem ist, dass dein Delphi 3 Programm eine VCL Anwendung ist und du die nicht 1:1 in Firemonkey übernehmen kannst. Einerseits weil es nicht 100%ig kompatibel ist,
andererseits weil wie bereits vorher schon gesagt eine Handy-App eine ganz andere Bedienung und damit auch Oberfläche hat als eine Windows-Anwendung.

Du kannst mit Delphi 10 und Firemonkey auf jeden Fall deine App schreiben, aber wie auch schon zuvor gesagt ist es wahrscheinlich einfacher dein Programm neu zu schreiben.
Je nachdem wie gut du damals Oberfläche von Logik getrennt hast musst du fast nur noch die Oberfläche neu machen, ansonsten wird es mehr Arbeit.

Wenn du Komponenten anderer Hersteller benutzen willst musst du dann halt darauf achten dass es Komponenten für Firemonkey sind, weil VCL-Komponenten mit Firemonkey nicht funktionieren.
Ich glaube mehr gibts da eigentlich nicht zu wissen/sagen.

Sir Rufo 24. Mär 2016 08:38

AW: Portierung eines Delphi 3 Programms zur App
 
Der Aufwand so einer Portierung hängt immer davon ab, wie gut/stark die Trennung der einzelnen Schichten ist.
  • GUI
  • Logik
  • Data
Ein Smartphone hat z.B. einen kleineren Bildschirm als ein Desktop-System und die erwartete Bedienung kann erheblich abweichen (Funktionstasten/Shortcuts gibt es auf den Mobile Devices nicht). Also kann es auf eine völlig andere GUI hinauslaufen.

Der Data-Layer (Speichern der Daten) kann sich auch erheblich unterscheiden. Ein Desktop-System ist idR als always inhouse connected zu betrachten, ein Smartphone eher als maybe connected from anywhere. Darum ist es bei einem Desktop-System nicht tragisch, wenn es hier eine direkte Verbindung zur Datenbank gibt. Für ein Smartphone aber die Datenbank zum Internet zu öffnen gleicht einem dance with the devils. Somit benötigt man hier eine weitere Schicht (z.B. einen REST-Server), die einen einigermassen sicheren Zugang zu den Daten bietet. Auf dem Smartphone selber sollte man die benötigten Daten zwischenspeichern, wenn die Funktion auch offline funktionieren soll.

Die Logik-Schicht ist hingegen bei beiden Systemen gleich ... :stupid:

ArminW 24. Mär 2016 09:07

AW: Portierung eines Delphi 3 Programms zur App
 
Danke für Eure konstruktiven Antworten, Ihr habt mir wirklich stark weiter geholfen.

Klar ist, dass die Bedienlogik und auch die Anzeigen auf einem Smartphone ganz anders sind als auf einem PC. Die Berechnungen und Algorithmen im Hintergrund sind natürlich unabhängig vom Endgerät.

Ich denke, ich werde so vorgehen: Ich trenne Logik und Anzeige/Bedienung so weit wie möglich voneinander. Dann schreibe ich ein neues Programm fürs Smartphone und verwende so viele Bausteine wie möglich aus dem Win Programm.

Meine ursprüngliche Idee war, ich könnte sozusagen 2 Ausgabemodi in einem Programm realisieren: den normalen Bildschirm fürn PC und einen "zusammengeschobenen und abgespeckten Bildschirm" fürs Smartphone. Wahrscheinlich ist es im Endeffekt auch nicht mehr Aufwand, einfach ein neues Programm mit Smartphone-angepasster Oberfläche zu schreiben und möglichst viele Bausteine aus dem Win Programm zu übernehmen. Der Vorteil ist, ich kann für das Win Programm bei den VCL Komponenten für die Anzeige bleiben.

Gruß, Armin

mquadrat 24. Mär 2016 10:45

AW: Portierung eines Delphi 3 Programms zur App
 
Gerade auf Google+ gesehen und es passt thematisch:

https://www.embarcadero.com/ios-app-...try-rad-studio


Alle Zeitangaben in WEZ +1. Es ist jetzt 18:39 Uhr.
Seite 1 von 2  1 2      

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