Delphi to Lazarus Portierung eines großen Projektes

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Delphi to Lazarus Portierung eines großen Projektes

Beitrag von charlytango »

Hallo!

Für mich stünde die Portierung eines großen Projektes von Delphi 7 (bzw dessen Nachfolger) auf Lazarus an.

Etwa 180 Forms, 50 Units, eine Menge Printing und sonstiges.

Dabei wurde heftig mit Komponenten von DevExpress (Menü, style etc) gearbeitet die damals tief inw Windows-System eingriffen.
Es müssen als etliche Komponenten ausgetauscht werden. Mir wäre eine Umwandlung lieber als auf das neueste Delphi migrieren zu müssen -- ist vermutlich gleich viel Arbeit.

Gibt es da eine Empfehlung wie man das halbwegs automatisiert machen kann?
Ich würde auch 180 Formulare einzeln umwandeln, aber irgendwie wärs fein wenn ich die nicht verfügbaren Komponenten automatisiert gegen andere tauschen könnte.

Bin für Tipps und Ideen zugänglich 8)

Danke im Voraus

Mathias
Beiträge: 6162
Registriert: Do 2. Jan 2014, 17:21
OS, Lazarus, FPC: Linux (die neusten Trunk)
CPU-Target: 64Bit
Wohnort: Schweiz

Re: Delphi to Lazarus Portierung eines großen Projektes

Beitrag von Mathias »

Dabei wurde heftig mit Komponenten von DevExpress (Menü, style etc) gearbeitet die damals tief inw Windows-System eingriffen.

Allzu tiefe Eingriffe in der Unit Windows, ist nicht unbedingt eine Spezialität von Lazarus.
Ich hatte mal Formulare mit eigene Menü-Balken gemacht, unter Lazarus habe ich dies nicht mehr zum laufen gebracht.
Wen man auf solche optischen Schnickschnack verzichten kann, sollte eine Portierung gehen.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot

Benutzeravatar
af0815
Lazarusforum e. V.
Beiträge: 6198
Registriert: So 7. Jan 2007, 10:20
OS, Lazarus, FPC: FPC fixes Lazarus fixes per fpcupdeluxe (win,linux,raspi)
CPU-Target: 32Bit (64Bit)
Wohnort: Burgenland
Kontaktdaten:

Re: Delphi to Lazarus Portierung eines großen Projektes

Beitrag von af0815 »

Eine Portierung ist immer heikel :mrgreen:

Ich würde vorschlagen, einmal mit einem womöglichst isolierten Form anzufangen und einmal sehen wie man die (Fremd-) Komponenten am besten austauscht. Nicht vergessen, die automatisierte Umwandlung von Lazarus ist im Source enthalten. Mit der Erfahrung aus dem ersten Form, hat man die Möglichkeit die Umwandlung so zu erweitern/ändern, das die Probleme minimiert werden. Vor allen kann man das mit einem Formular beliebig oft durchspielen bis man den optimalen Erfolg erzielt.

Bsp: Beim letzen Projekt von mir habe ich zuerst auf Delphi noch das Projekt auf Zeos umgestellt und dann erst migriert. Da hat sich herausgestellt, das es einfacher ist, das in Delphi zu machen und immer einen komplilierbaren/lauffähigen Stand zu haben, bevor man in Lazarus zuviele Baustellen aufreisst. Deshalb damals auch die Wahl auf Zeos gefallen, da es für Delphi und Lazarus vorhanden ist.

Ansonsten testen, testen, testen.

Andreas
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).

Euklid
Lazarusforum e. V.
Beiträge: 2808
Registriert: Fr 22. Sep 2006, 10:38
OS, Lazarus, FPC: Lazarus v2.0.10, FPC 3.2.0
Wohnort: Hessen
Kontaktdaten:

Re: Delphi to Lazarus Portierung eines großen Projektes

Beitrag von Euklid »

charlytango hat geschrieben:Gibt es da eine Empfehlung wie man das halbwegs automatisiert machen kann?


Lazarus kann automatisiert Delphi-Projekte portieren. Dazu gibt es glaube im Menü "Werkzeuge" den passenden Menüpunkt. Die Portierung von Standardkomponenten klappt eigentlich ziemlich gut. Darüber hinaus werden dann natürlich noch Anpassungen notwendig...

charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Delphi to Lazarus Portierung eines großen Projektes

Beitrag von charlytango »

Euklid hat geschrieben:Lazarus kann automatisiert Delphi-Projekte portieren. Dazu gibt es glaube im Menü "Werkzeuge" den passenden Menüpunkt. Die Portierung von Standardkomponenten klappt eigentlich ziemlich gut. Darüber hinaus werden dann natürlich noch Anpassungen notwendig...


Das habe ich durchaus schon entdeckt. Wie ich allerdings die Komponentenklassen automatisiert ersetze (in den pas und lfm Dateien) bin ich nicht drauf gekommen :(


charlytango
Beiträge: 843
Registriert: Sa 12. Sep 2015, 12:10
OS, Lazarus, FPC: Laz stable (2.2.6, 3.x)
CPU-Target: Win 32/64, Linux64
Wohnort: Wien

Re: Delphi to Lazarus Portierung eines großen Projektes

Beitrag von charlytango »

theo hat geschrieben:Wiki schon gelesen?


Ja , hab ich, danke 8)

Christian
Beiträge: 6079
Registriert: Do 21. Sep 2006, 07:51
OS, Lazarus, FPC: iWinux (L 1.x.xy FPC 2.y.z)
CPU-Target: AVR,ARM,x86(-64)
Wohnort: Dessau
Kontaktdaten:

Re: Delphi to Lazarus Portierung eines großen Projektes

Beitrag von Christian »

Ich würd dir empfehlen das ganze NICHT zu portieren.
Der letzte Rewrite vom Promet hat mich Abends 2 Monate gekostet um auf den selben Stand wie vorher zu kommen.
Dabei räumt man gleich zwangsläufig mit auf und hat noch die Chance für lange vorgeschobenen Restrukturierungen.

Bedenke auch das die Formulare ohne sauber gesetzte Anchors unter Linux und OSX und wahrscheinlich sogar Windows 10 schrecklich auschauen.
W.m.k.A.h.e.m.F.h. -> http://www.gidf.de/

Antworten