AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Cross-Platform-Entwicklung Portierung eines Delphi 3 Programms zur App

Portierung eines Delphi 3 Programms zur App

Ein Thema von ArminW · begonnen am 23. Mär 2016 · letzter Beitrag vom 24. Mär 2016
Antwort Antwort
Seite 1 von 2  1 2   
ArminW

Registriert seit: 23. Mär 2016
Ort: Niederbayern
15 Beiträge
 
#1

Portierung eines Delphi 3 Programms zur App

  Alt 23. Mär 2016, 10:26
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
Armin
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.625 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Portierung eines Delphi 3 Programms zur App

  Alt 23. Mär 2016, 10:38
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.
Sebastian Jänicke
AppCentral
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#3

AW: Portierung eines Delphi 3 Programms zur App

  Alt 23. Mär 2016, 10:57
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.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.145 Beiträge
 
Delphi 12 Athens
 
#4

AW: Portierung eines Delphi 3 Programms zur App

  Alt 23. Mär 2016, 12:39
Und keine Windows-OCX.
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PosEx im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
ArminW

Registriert seit: 23. Mär 2016
Ort: Niederbayern
15 Beiträge
 
#5

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 08:57
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
Armin
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.173 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 09:13
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.
  Mit Zitat antworten Zitat
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#7

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 09:15
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.
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#8

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 09:38
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 ...
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat
ArminW

Registriert seit: 23. Mär 2016
Ort: Niederbayern
15 Beiträge
 
#9

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 10:07
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
Armin
  Mit Zitat antworten Zitat
mquadrat

Registriert seit: 13. Feb 2004
1.113 Beiträge
 
Delphi XE2 Professional
 
#10

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 11:45
Gerade auf Google+ gesehen und es passt thematisch:

https://www.embarcadero.com/ios-app-...try-rad-studio
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 22:32 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