Migration von Delphi-Anwendungen

Für Fragen zur Programmiersprache auf welcher Lazarus aufbaut
Antworten
andikad
Beiträge: 20
Registriert: So 11. Mai 2014, 03:41

Migration von Delphi-Anwendungen

Beitrag von andikad »

Hallo,

ich stehe vor der Herausforderung, mehrere mit Delphi 5 entwickelte Anwendungen nach Lazarus zu migrieren.

Mich würde sehr interessieren, welche Erfahrungen Ihr bei ähnlichen Vorhaben gemacht habt und natürlich auch, ob es bestimmte Fallstricke gibt oder ein empfohlenes Vorgehen.

Die Anwendungen sind in der Größenordnung +150.000 Zeilen Code und sind Datenbankanwendungen, die als Datenbank Firebird verwenden. Neue Anwendungen habe ich mit Lazarus schon geschrieben, bin also kein blutiger Anfänger.

Besonders interessiert mich auch das Thema Unicode. Die Datenbanken, mit denen ich es zu tun habe sind Zeichensatz ISO 8859_1 und können auch nicht auf Unicode umgestellt werden.

Vielen Dank im Voraus. Ich freue mich auf Eure Ratschläge!

Viele Grüße, Andreas


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: Migration von Delphi-Anwendungen

Beitrag von af0815 »

Ich habe erst ein paar Delphi DB Programme nach Lazarus migriert.

Eine Möglichkeit ist, Delphi-DB Komponenten nach Zeos migrieren und dann erst nach Lazarus. Gerade das DB verhalten kann in Kleinigkeiten sehr unterschiedlich sein. Bei Zeos habe ich auch das mit den Zeichsätzen für mich einfacher konfigurieren können. Ich habe mich da Unitweise vorgearbeitet.

EInen Testlauf mit typischen Komponenten vorher sollte helfen, die Strategie besser fest zu legen. Wir haben es mit fcl-db und zeos versucht. Das mit Zeos hat uns mehr Sicherheit gegeben, da wir zuerst es in Delphi migrieren konnten und dann erst in Lazarus. Da wir da MS-SQL hatten, haben wir sogar bessere Erfahrungen mit dem trunk von Zeos gemacht. Wie gesagt speziell für MS-SQL.

Auf spezielle (Zukauf-)Komponenten von Delphi sollte man unbedingt achten. Wir haben ein spezielles Grid dann durch fpspreadsheet ersetzen können und das hat noch ein paar ander Vorteile gebracht, somit war der Kunde zufrieden, auch wenn jetzt Kleinigkeiten anders sind. Allein der Excel-Export hat da ihm arbeit erspart und wars das 'Killer' Argument für den Komponentenwechsel.

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

andikad
Beiträge: 20
Registriert: So 11. Mai 2014, 03:41

Re: Migration von Delphi-Anwendungen

Beitrag von andikad »

Hallo,

danke für Eure Erfahrungen und die Links. Ja, die Artikel kenne ich, wollte aber mal die praktischen Erfahrungen hören. Könnt Ihr noch auf das Thema Unicode eingehen? Was erwartet mich da, wenn meine Datenbanken nicht Unicode sind und auch (noch) nicht umgestellt werden können?

Die LCL erwartet in der aktuellen Version doch Unicode, oder?

Viele Grüße, Andreas

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: Migration von Delphi-Anwendungen

Beitrag von af0815 »

andikad hat geschrieben: Was erwartet mich da, wenn meine Datenbanken nicht Unicode sind und auch (noch) nicht umgestellt werden können?


Testen, testen, testen :-) Deswegen sind wir bei Zeos geblieben. Echt eine Wegwerfapplikation machen und die Fragestellungen daran prüfen. Ist besser als 1000 Worte.

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

wp_xyz
Beiträge: 4869
Registriert: Fr 8. Apr 2011, 09:01

Re: Migration von Delphi-Anwendungen

Beitrag von wp_xyz »

andikad hat geschrieben:Die LCL erwartet in der aktuellen Version doch Unicode, oder?

Wenn jemand wie du von Delphi kommt und von "Unicode" spricht, meint er wahrscheinlich UTF16. Die LCL unterstützt jedoch die Unicode-Variante UTF8, also Zeichen bestehend aus 1-4 Bytes. Möglicherweise/wahrscheinlich wirst du Konvertierungsfunktionen aufrufen müssen (z.B. ISO_8859_1ToUTF8 bzw UTF8ToISO_8859_1 aus der Unit lconvencoding).

Antworten