AGB  ·  Datenschutz  ·  Impressum  







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

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
ArminW

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

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 07: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.114 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 08: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
 
#3

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 08: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
 
#4

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 08: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
 
#5

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 09: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
 
#6

AW: Portierung eines Delphi 3 Programms zur App

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

https://www.embarcadero.com/ios-app-...try-rad-studio
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#7

AW: Portierung eines Delphi 3 Programms zur App

  Alt 24. Mär 2016, 10:55
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.
Das geht theoretisch mit Delphi schon, dafür gibt auch extra Funktionen, die dann verschiedene DFM Dateien für die jeweilige Zielplattform einbinden.
Das sieht dann im Code so aus:
Delphi-Quellcode:
{$R *.fmx}
{$R *.Macintosh.fmx MACOS}
{$R *.XLgXhdpiTb.fmx ANDROID}
{$R *.iPad.fmx IOS}
{$R *.Windows.fmx MSWINDOWS}
Jedoch muss es auf jeder Form die gleichen Controls geben! Was aber recht schnell für Desktop und Mobil nicht zielführend ist.
Laut Delphi Roadmap, soll sich da dieses Jahr etwas ändern. Das hört sich so an:
Zitat:
Multi-Device Designer Improvements
- Including Form Designer Preview on Device
- Android Wear Styling & new FireUI views

Geändert von Bambini (24. Mär 2016 um 10:58 Uhr)
  Mit Zitat antworten Zitat
Antwort Antwort

 

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 12:11 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