Delphi in Lazarus-Projekt umwandeln
- stoffel_hessen
- Beiträge: 66
- Registriert: Sa 18. Jun 2022, 12:27
- OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
- CPU-Target: x86 64Bit
- Wohnort: Riedstadt
Delphi in Lazarus-Projekt umwandeln
Hallo Gemeinde,
ich bin neu hier, habe in den letzte 10 Jahren immer wieder mal etwas in Delphi XE2 programmiert, bin aber kein gelernter Entwickler.
Da sich Embacadero aus meiner Sicht nicht sehr Kundenfreundlich verhält (ich habe eine XE2 Starter Lizenz aus dem Jahr 2011, welche ich nun auf einem neuen PC nicht mehr aktiviert bekomme, da die Anzahl der Aktivierungen überschritten wurde, und Embacadero dies auch ablehnt, obwohl dies in den Vergangenen Jahren immer mal wieder gemacht wurde), möchte ich meine 5-6 Projekte nun auf Lazarus umziehen.
Nun mal zu meinem Problem, wenn ich in Lazarus, die Option "Delphi- in Lazarus Projekt umwandeln..." verwende, wird das Formular nicht konvertiert, es ist dann nicht vorhanden.
Wenn ich dann versuche das Formular mit "DFM- in LFM-Datei umwandeln" umzuwandeln, bekomme ich eine Fehlermeldung "... hat eine fehlerhafte Syntax", was kann ich hier machen?
Ich habe auch schon gesucht, aber leider im Forum nichts gefunden, für einen entsprechenden Hinweis wäre ich sehr Dankbar.
Gruß Christopher
ich bin neu hier, habe in den letzte 10 Jahren immer wieder mal etwas in Delphi XE2 programmiert, bin aber kein gelernter Entwickler.
Da sich Embacadero aus meiner Sicht nicht sehr Kundenfreundlich verhält (ich habe eine XE2 Starter Lizenz aus dem Jahr 2011, welche ich nun auf einem neuen PC nicht mehr aktiviert bekomme, da die Anzahl der Aktivierungen überschritten wurde, und Embacadero dies auch ablehnt, obwohl dies in den Vergangenen Jahren immer mal wieder gemacht wurde), möchte ich meine 5-6 Projekte nun auf Lazarus umziehen.
Nun mal zu meinem Problem, wenn ich in Lazarus, die Option "Delphi- in Lazarus Projekt umwandeln..." verwende, wird das Formular nicht konvertiert, es ist dann nicht vorhanden.
Wenn ich dann versuche das Formular mit "DFM- in LFM-Datei umwandeln" umzuwandeln, bekomme ich eine Fehlermeldung "... hat eine fehlerhafte Syntax", was kann ich hier machen?
Ich habe auch schon gesucht, aber leider im Forum nichts gefunden, für einen entsprechenden Hinweis wäre ich sehr Dankbar.
Gruß Christopher
Zuletzt geändert von stoffel_hessen am Di 26. Jul 2022, 09:57, insgesamt 2-mal geändert.
Gruß Christopher
Re: Delphi in Lazarus-Projekt umwandeln
Ich würde dir dringend raten, dir zunächst ein lauffähiges Delphi zu besorgen. Ohne testen zu können, wie sich ein Formular "eigentlich" verhält, ist die Konvertierung ein Glücksspiel. Hol dir die Community Edition. Die ist für Hobby-Programmierer kostenlos (man darf sogar kommerzielle Software schreiben, aber nur bis zu einem Jahresumsatz von ein paar Tausend EUR). Die Lizenz läuft ein Jahr, aber man kann danach problemlos eine neue anfordern. Die CE ist etwas hinter der aktuellen Verkaufsversion, aber ansonsten kaum eingeschränkt, zumindest ist mir bei meinen Projekten nichts aufgefallen. Ich glaube gelesen zu haben, dass ihr Umfang der Professional-Ausgabe entspricht.
Ganz wichtig: Kopiere dir das zu konvertierende Projekt an einen sicheren Ort, es geht zu leicht, dass man sonst nach einer erfolglosen Konvertierung gar nichts mehr hat!
Der Konverter "DFM- in LFM-Datei umwandeln" ist nur für prähistorische Formulare aus dem letzten Jahrhundert gedacht, als dfm-Dateien noch in einem binären Format gespeichert wurden. Standardmäßig speichert Delphi, ich glaube seit Version 6, im Text-Format. Öffne die dfm-Datei in einem Texteditor: wenn du lesbaren Text findest, ist alles in Ordnung und diese Konvertierung ist nicht nötig. Wenn nicht, und die Umwandlung mit diesem Lazarus-Tool nicht funktioniert, öffne das Formular in Delphi, Rechts-klick auf dem Formular und markierte den Eintrag "Text-DFM" im Kontext-Menü, speichern.
Die eigentliche Konvertierung eines Projekts geschieht unter "Delphi- in Lazarus-Projekt" umwandeln; "Delphi- in Lazarus-Unit umwandeln" nimmt sich nur eine einzelne Unit vor. Es werden jeweils viele Umwandlungen vorgenommen, Unit-Namen angepasst, fehlende Properties weggelassen usw. Allerdings ist mir das ganze zu unübersichtlich, und ich mache die Konvertierungen in der Regel von Hand. Ich habe darüber schon ein paar Mal geschrieben, z.B. hier: https://forum.lazarus.freepascal.org/in ... #msg331273.
Ganz wichtig: Kopiere dir das zu konvertierende Projekt an einen sicheren Ort, es geht zu leicht, dass man sonst nach einer erfolglosen Konvertierung gar nichts mehr hat!
Der Konverter "DFM- in LFM-Datei umwandeln" ist nur für prähistorische Formulare aus dem letzten Jahrhundert gedacht, als dfm-Dateien noch in einem binären Format gespeichert wurden. Standardmäßig speichert Delphi, ich glaube seit Version 6, im Text-Format. Öffne die dfm-Datei in einem Texteditor: wenn du lesbaren Text findest, ist alles in Ordnung und diese Konvertierung ist nicht nötig. Wenn nicht, und die Umwandlung mit diesem Lazarus-Tool nicht funktioniert, öffne das Formular in Delphi, Rechts-klick auf dem Formular und markierte den Eintrag "Text-DFM" im Kontext-Menü, speichern.
Die eigentliche Konvertierung eines Projekts geschieht unter "Delphi- in Lazarus-Projekt" umwandeln; "Delphi- in Lazarus-Unit umwandeln" nimmt sich nur eine einzelne Unit vor. Es werden jeweils viele Umwandlungen vorgenommen, Unit-Namen angepasst, fehlende Properties weggelassen usw. Allerdings ist mir das ganze zu unübersichtlich, und ich mache die Konvertierungen in der Regel von Hand. Ich habe darüber schon ein paar Mal geschrieben, z.B. hier: https://forum.lazarus.freepascal.org/in ... #msg331273.
-
- Beiträge: 6925
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Delphi in Lazarus-Projekt umwandeln
Das habe ich gar nicht gewusst, das sowas angeboten wird.Hol dir die Community Edition. Die ist für Hobby-Programmierer kostenlos (man darf sogar kommerzielle Software schreiben, aber nur bis zu einem Jahresumsatz von ein paar Tausend EUR)
Ist das neu, das sie sowas wieder anbieten ?
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
Re: Delphi in Lazarus-Projekt umwandeln
Die gibt es schon seit ein paar Jahren und folgt mit geringem Abstand der aktuellen Version. Es ist natürlich keine Garantie, dass sie nicht irgendwann auf die Idee kommen "Nö, die Hobbyprogrammierer sollen sich nun eine richtige Lizenz kaufen". Die Community Edition (CE) wäre in diesem Fall nur bis zum Ende der Lizenz-Periode nutzbar. Also, für ernsthafte Arbeit wäre das nichts, aber nur zum Ausprobieren, oder als Hilfe beim Portieren alter Projekte oder Komponenten nach Lazarus ist das eine Super-Möglichkeit.
Kann gleich mal berichten, was passiert, wenn die 1-jährige CE-Lizenz abgelaufen ist, was heute bei mir der Fall war. Also: Statt Delphi öffnet der Lizenz-Experte und will eine neue Seriennummer/Lizenz - das ganze sieht relativ kompliziert aus, weil es offenbar auch bei den Kaufversionen verschiedene Lizenz-Typen gibt. Nach mehreren Fehlversuchen habe ich dann einfach das nicht mehr verwendbare Delphi 10.3.3. deinstalliert und mir von der Embarcadero-Seite die aktuelle Community Edition geholt (v1.0.4.2). Man muss sich mit Namen, E-Mail, PLZ, Ort, Telefon-Nr (! - aber die Gültigkeit wird anscheinend nicht geprüft) anmelden und dann kommt eine Mail mit einer Seriennummer, und kann damit 1 Jahr lang weiterarbeiten, und muss dann halt dieses Procedere wiederholen.
P.S.
Statt Neuinstallation hätte ich mich wahrscheinlich auch auf meinem Embarcadero-Account einloggen und eine neue Seriennummer für 10.3.3 anfordern können. Aber ich wollte die aktuelle CE-Version (10.4.2) und hätte die nutzlose alte Version ohnehin deinstallieren müssen (Denn mehrere CE-Versionen auf demselben Gerät vertragen sich nicht - wie schön haben wir es bei Lazarus, wo man via Sekundärinstallation beliebig viele Version haben kann).
Kann gleich mal berichten, was passiert, wenn die 1-jährige CE-Lizenz abgelaufen ist, was heute bei mir der Fall war. Also: Statt Delphi öffnet der Lizenz-Experte und will eine neue Seriennummer/Lizenz - das ganze sieht relativ kompliziert aus, weil es offenbar auch bei den Kaufversionen verschiedene Lizenz-Typen gibt. Nach mehreren Fehlversuchen habe ich dann einfach das nicht mehr verwendbare Delphi 10.3.3. deinstalliert und mir von der Embarcadero-Seite die aktuelle Community Edition geholt (v1.0.4.2). Man muss sich mit Namen, E-Mail, PLZ, Ort, Telefon-Nr (! - aber die Gültigkeit wird anscheinend nicht geprüft) anmelden und dann kommt eine Mail mit einer Seriennummer, und kann damit 1 Jahr lang weiterarbeiten, und muss dann halt dieses Procedere wiederholen.
P.S.
Statt Neuinstallation hätte ich mich wahrscheinlich auch auf meinem Embarcadero-Account einloggen und eine neue Seriennummer für 10.3.3 anfordern können. Aber ich wollte die aktuelle CE-Version (10.4.2) und hätte die nutzlose alte Version ohnehin deinstallieren müssen (Denn mehrere CE-Versionen auf demselben Gerät vertragen sich nicht - wie schön haben wir es bei Lazarus, wo man via Sekundärinstallation beliebig viele Version haben kann).
-
- Beiträge: 6925
- Registriert: Do 2. Jan 2014, 17:21
- OS, Lazarus, FPC: Linux (die neusten Trunk)
- CPU-Target: 64Bit
- Wohnort: Schweiz
Re: Delphi in Lazarus-Projekt umwandeln
Dann doch lieber Lazarus.
Mit Lazarus sehe ich grün
Mit Java und C/C++ sehe ich rot
Mit Java und C/C++ sehe ich rot
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Delphi in Lazarus-Projekt umwandeln
Hi!
Mit den "kostenlos" Angeboten von Delphi hab ich auch verbrannte Finger:
2006 gab es das arg eingeschrankte "Turbo Delphi" kostenlos, die "Professional" Version für 500 $.
War wohl kein großer Erfolg. Es gab keine weiteren Versionen und 2009 wurde dieser Vertriebsstrang inkl. Support komplett eingestellt.
Das kommt dabei raus, wenn die Entscheidungen im Hause Embarcardero nur noch wegen der Finanzen entschieden werden.
Da weiss man bei Lazarus/fpc was man hat. Und worauf man sich verlassen kann.
Winni
Mit den "kostenlos" Angeboten von Delphi hab ich auch verbrannte Finger:
2006 gab es das arg eingeschrankte "Turbo Delphi" kostenlos, die "Professional" Version für 500 $.
War wohl kein großer Erfolg. Es gab keine weiteren Versionen und 2009 wurde dieser Vertriebsstrang inkl. Support komplett eingestellt.
Das kommt dabei raus, wenn die Entscheidungen im Hause Embarcardero nur noch wegen der Finanzen entschieden werden.
Da weiss man bei Lazarus/fpc was man hat. Und worauf man sich verlassen kann.
Winni
- stoffel_hessen
- Beiträge: 66
- Registriert: Sa 18. Jun 2022, 12:27
- OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
- CPU-Target: x86 64Bit
- Wohnort: Riedstadt
Re: Delphi in Lazarus-Projekt umwandeln
Erst mal Danke für eure Unterstützung, ich werde mir das mit der CE anschauen und dann versuchen mein Projekt auf Lazarus umzuziehen.
Gruß Christopher
Re: Delphi in Lazarus-Projekt umwandeln
Ich musste mir eine neue E-Mail Adresse zulegen und einen neuen Account registrieren, wo ich einen neuen Schlüssel bekam, damit ich die CE weiter nutzen konnte. Irgendwann habe ich es dann ganz gelassen. Meine Pascal-Neugier befriedigt auch Lazarus ganz gut 
Ich habe aber keine Pascal Projekte, daher andere Entscheidungswege. Nur fairweise erwähnt.

Ich habe aber keine Pascal Projekte, daher andere Entscheidungswege. Nur fairweise erwähnt.
Re: Delphi in Lazarus-Projekt umwandeln
Das ist außer Frage. Aber es gibt Leute, die haben früher ein - vielleicht großes - Projekt in Delphi geschrieben und wollen das nach Lazarus umziehen. Oder denke, an die großen Komponenten-Sammlungen, die ganze Torry.net-Seite uvm, was alles Material für Delphi enthält und unter Lazarus manchmal schmerzlich vermisst wird. Das ohne eine lauffähige Delphi-Version zu versuchen, ist ein Ding der Unmöglichkeit, weil man sonst nicht erkennen kann, wie das Projekt/die Komponente sich eigentlich verhält. Daher nehme ich zumindest die kleine Unannehmlichkeit bei der Registrierung gerne in Kauf.Winni hat geschrieben: Di 21. Jun 2022, 17:54 Da weiss man bei Lazarus/fpc was man hat. Und worauf man sich verlassen kann.
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Delphi in Lazarus-Projekt umwandeln
Hi!
Torry und die Menge an Komponenten hin und her - ich habe seit Delphi 1 nie Komponenten installiert bei denen ich den Source nicht hatte, In weiser Voraussicht. Damit man es portieren kann.
Winni
Torry und die Menge an Komponenten hin und her - ich habe seit Delphi 1 nie Komponenten installiert bei denen ich den Source nicht hatte, In weiser Voraussicht. Damit man es portieren kann.
Winni
- stoffel_hessen
- Beiträge: 66
- Registriert: Sa 18. Jun 2022, 12:27
- OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
- CPU-Target: x86 64Bit
- Wohnort: Riedstadt
Re: Delphi in Lazarus-Projekt umwandeln
Hallo zusammen,
2 kleiner Projekte habe ich nun umgestellt bekommen.
Bei einem etwas größeren habe ich das Problem, das ich es zwar auch umstellen konnte und auch compillieren.
Wenn ich die Anwendung aber starte, kommt eine Fehlermeldung "Error reading BT_Button.WordWrap: Unknown property: WordWrap"
Bei BT_Button handelt es sich um ein TButton-Objekt, in Delphi war hier der Haken WordWrap gesetzt, in Lazarus gibt es diesen aber nicht und ich finde auch die Stelle nicht, wo ich es löschen kann, habe auch schon mal den Text des Buttons geändert, so das kein Zeilenumbruch mehr erfolgen muss.
Für einen Hinweis wäre ich sehr dankbar.
Gruß Christopher
2 kleiner Projekte habe ich nun umgestellt bekommen.
Bei einem etwas größeren habe ich das Problem, das ich es zwar auch umstellen konnte und auch compillieren.
Wenn ich die Anwendung aber starte, kommt eine Fehlermeldung "Error reading BT_Button.WordWrap: Unknown property: WordWrap"
Bei BT_Button handelt es sich um ein TButton-Objekt, in Delphi war hier der Haken WordWrap gesetzt, in Lazarus gibt es diesen aber nicht und ich finde auch die Stelle nicht, wo ich es löschen kann, habe auch schon mal den Text des Buttons geändert, so das kein Zeilenumbruch mehr erfolgen muss.
Für einen Hinweis wäre ich sehr dankbar.
Gruß Christopher
Gruß Christopher
- af0815
- Lazarusforum e. V.
- Beiträge: 6796
- 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 in Lazarus-Projekt umwandeln
Bei so Problemen, die nicht allzu invarsiv sind, sollte man sich die lfm/dfm mit einem Texteditor ansehen. Dort kann man dann die nicht vorhandene Eigenschaft finden und löschen. Klarerweise immer ein Backup machen (oder mit Sourcecontroltools arbeiten).stoffel_hessen hat geschrieben: Mi 22. Jun 2022, 16:01Bei BT_Button handelt es sich um ein TButton-Objekt, in Delphi war hier der Haken WordWrap gesetzt, in Lazarus gibt es diesen aber nicht und ich finde auch die Stelle nicht, wo ich es löschen kann,
Blöd kann man ruhig sein, nur zu Helfen muss man sich wissen (oder nachsehen in LazInfos/LazSnippets).
-
- Beiträge: 731
- Registriert: Do 27. Sep 2012, 00:07
- OS, Lazarus, FPC: Win10Pro-64Bit, Immer letzte Lazarus Release mit SVN-Fixes
- CPU-Target: x86_64-win64
- Wohnort: Hamburg
Re: Delphi in Lazarus-Projekt umwandeln
Du kannst auch die Komponenten der Formulare bei Delphiformdesigner in die Zwischenablage kopieren und bei Lazarusformdesigner einfügen. Man muss nur die Events neu zuweisen, falls man hat, oder man erstellt vorher Event-Funktionen, dann kopiert es. Bei kleineren Projekten klappt es gut.
Getestet mit BDS 2006.
Getestet mit BDS 2006.
- Winni
- Beiträge: 1577
- Registriert: Mo 2. Mär 2009, 16:45
- OS, Lazarus, FPC: Laz2.2.2, fpc 3.2.2
- CPU-Target: 64Bit
- Wohnort: Fast Dänemark
Re: Delphi in Lazarus-Projekt umwandeln
Hi!
Lade mal die zu der Unit gehörende gleichnamige Datei mit dem Suffix lfm.
Suche hier nach dem BT_Button
In den folgenden Zeilen muss irgendwo die Property WordWrap auftauchen
Genau diese Zeile löschen - und nix sonst verändern
Speichern
Project neu laden.
Nun sollte der Fehler entsorgt sein
Winni
Lade mal die zu der Unit gehörende gleichnamige Datei mit dem Suffix lfm.
Suche hier nach dem BT_Button
In den folgenden Zeilen muss irgendwo die Property WordWrap auftauchen
Genau diese Zeile löschen - und nix sonst verändern
Speichern
Project neu laden.
Nun sollte der Fehler entsorgt sein
Winni
- stoffel_hessen
- Beiträge: 66
- Registriert: Sa 18. Jun 2022, 12:27
- OS, Lazarus, FPC: Windows 11 (Version 2.2.2, FPC 3.2.2)
- CPU-Target: x86 64Bit
- Wohnort: Riedstadt
Re: Delphi in Lazarus-Projekt umwandeln
Danke für eure Unterstützung, hat geklapptWinni hat geschrieben: Mi 22. Jun 2022, 17:58 Hi!
Lade mal die zu der Unit gehörende gleichnamige Datei mit dem Suffix lfm.
Suche hier nach dem BT_Button
In den folgenden Zeilen muss irgendwo die Property WordWrap auftauchen
Genau diese Zeile löschen - und nix sonst verändern
Speichern
Project neu laden.
Nun sollte der Fehler entsorgt sein
Winni
Gruß Christopher