![]() |
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 ![]() Was meinen die Experten? Gruß, Armin |
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. |
AW: Portierung eines Delphi 3 Programms zur App
Zitat:
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. |
AW: Portierung eines Delphi 3 Programms zur App
Und keine Windows-OCX.
|
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" ( ![]() Dann gibt es wohl prinzipiell die Möglichkeit, ein Programm mit VCLs nach Firemonkey zu "übersetzen", beispielsweise mit der Hilfe von ![]() 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 |
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. |
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. |
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.
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: |
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 |
AW: Portierung eines Delphi 3 Programms zur App
Gerade auf Google+ gesehen und es passt thematisch:
![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:57 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