AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Sprachen und Entwicklungsumgebungen Lazarus (IDE) Delphi-Code mit Lazarus kompilieren - es klappt nicht...
Thema durchsuchen
Ansicht
Themen-Optionen

Delphi-Code mit Lazarus kompilieren - es klappt nicht...

Ein Thema von Andreas13 · begonnen am 20. Jul 2023 · letzter Beitrag vom 22. Jul 2023
Antwort Antwort
Seite 1 von 2  1 2      
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#1

Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 20. Jul 2023, 22:53
Hallo Community,
ich möchte gerne den Delphi-Code von Wolfgang Ehrhardt (Gammatester)

http://web.archive.org/web/*/wolfgang-ehrhardt.de oder https://github.com/maelh/www.wolfgang-ehrhardt.de

testweise mit Lazarus kompilieren. Da dies meine ersten Gehversuche mit Lazarus (neueste Version 2.2.6 vom 2023-03-04; FPC-Version 3.2.2) sind, klappt es leider (noch) nicht.

Nehmen wir z. B. amath_2018-11-27.zip

Im Code gibt es auch zahlreiche Assembler-Routinen. Mein Ziel ist, eine 32-Bit Exe ausschließlich für Windows zu erzeugen.

Würde es mit Lazarus überhaupt gehen, oder ist es von vornherein nicht möglich?

Wo und was muß ich in Lazarus einstellen, bzw. wie muß ich vorgehen?

Danke für jeden Hinweis im Voraus!
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)

Geändert von Andreas13 (20. Jul 2023 um 23:06 Uhr)
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#2

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 21. Jul 2023, 00:31
Wenn du den Aufwand für eine Umstellung sparen möchtest, bietet es sich an, mit Delphi eine DLL zu erstellen und deren Funktionen dann in deinem Lazarus Programm zu nutzen.

Ansonsten bleibt nur, den Code anzupassen, denn z.B. fld [x] funktioniert unter Lazarus nicht. Aber ja, klar kann man das anpassen. Ohne Assemblerkenntnisse geht das aber nicht.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
johndoe049

Registriert seit: 22. Okt 2006
169 Beiträge
 
#3

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 21. Jul 2023, 01:20
In der Lazarus IDE gibt es einen Konverter von Delphi nach FreePascal. Der funktioniert aber nicht in allen Fällen und das Ergebnis muss nachbearbeitet werden.

Ich würde in der Lazarus Community nachfragen. Die helfen gerne.

ASM/Assembler gibt es auch im Lazarus, aber mit anderem Aufruf. Haben wir selbst noch nicht verwendet. Sollte aber im Forum beschrieben sein. Generell ist das Forum und FreePascal Wiki ein Handbuch Ersatz.

Ggf. sind Pakete nachzuinstallieren. Der reine Lazarus Installer installiert einiges an Paketen mit, diese sind aber nicht alle in der Paketverwaltung aktiv.

Alternativ kannst du auch Code Typhoon von Pilotlogic runterladen. Der hat auch einen Delphi Konverter. Unterschied zu Lazarus: CT is böööse, hat fast alle Pakete direkt im Installer und soll angeblich mit ASM besser zurecht kommen.

Konvertieren von Delphi nach Lazarus ohne Hilfe vom Lazarus Forum: sehr aufwendig.

Das deutsche Lazarus Forum würde ich nicht nehmen, die englische Community ist grösser.


NACHTRAG:
Grade erst gesehen, dass Delphi XE5 verwendet wird: Lazarus bildet Unicode anders ab. UFT16 vs. UTF8. Kann bei Typkonvertierung ggf. Probleme mit der Zeichendarstellung machen.

Geändert von johndoe049 (21. Jul 2023 um 09:18 Uhr) Grund: UTF Info hinzugefürt
  Mit Zitat antworten Zitat
rabatscher

Registriert seit: 13. Dez 2007
Ort: Bruck an der Mur
69 Beiträge
 
#4

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 21. Jul 2023, 10:19
Assembler sollte kein Problem sein - ich habs in meiner Lib durchgängig mit Lazarus und Delphi gemacht. Heck die
meisten Routinen wurden in Lazarus entwickelt.

Falls dich für die lib begeistern kann dann schau es dir auf
https://github.com/mikerabat/mrmath
mal an. Vielleicht sind dort ja die Sachen, die du brauchst auch dabei...

lg
Mike
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#5

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 21. Jul 2023, 21:35
Zunächst vielen Dank Euch allen für die Tipps & Antworten!

Die Sache ist offenkundig komplizierter als ich es mir anfangs gedacht habe, denn ich kann auf Gammatester’s Bibliotheken nicht verzichten, sonst müßte ich meine darauf basierende Arbeit vieler Jahre wegwerfen.

Die einfachste Lösung scheint mir noch das Auslagern aller benötigten Delphi-Routinen in eine DLL, wie Sebastian es vorgeschlagen hat. Aber dann würde z. B. eine Lazarus-Exe alleine nicht laufen, nur im Doppelpack mit obiger DLL.
Oder sehe ich das falsch?

Noch eine weitere Frage hätte ich an Euch:

Was muß ich im Lazarus einstellen, damit ich eine
stinknormale 32-Bit Konsole-Anwendung für Windows
erzeugen kann?
Per "Voreinstellung" werden 64-Bit-Programme generiert. Ich brauch aber 32-Bit wegen des Datentyps Extended, der bei 64-Bit nicht mehr existiert.
Wenn ich in den Projekt-Optionen das "Ziel-Betriebssystem" auf Win32 umstelle, vermißt der Compiler sofort etliche .ppu – Dateien wie z. B.:

Code:
FEHLER: RTL unit not found: system.ppu
FEHLER: RTL unit not found: objpas.ppu
FEHLER: RTL unit not found: sysutils.ppu
FEHLER: RTL unit not found: classes.ppu
FEHLER: RTL unit not found: avl_tree.ppu
FEHLER: RTL unit not found: zstream.ppu
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
44.063 Beiträge
 
Delphi 12 Athens
 
#6

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 21. Jul 2023, 21:57
Eigentlich sollte man garkein Extended verwenden.
Es war ursprünglich nur als interne Berechnungen (zwischenschritte) gedacht und garnicht dass der Entwickler ihn direkt nutzt.

Dass er im Pascal so auffällig verfügbar ist, war eher ein "Bug".
Neuste Erkenntnis:
Seit Pos einen dritten Parameter hat,
wird PoSex im Delphi viel seltener praktiziert.
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#7

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 21. Jul 2023, 22:10
Ich bin sehr froh über diesen "Bug" in 32-Bit-Pascal, denn meine Berechnungen brauchen die 4 weiteren Nachkommastellen von Extended gegenüber Double...
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Benutzerbild von KodeZwerg
KodeZwerg

Registriert seit: 1. Feb 2018
3.691 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 21. Jul 2023, 22:26
Was muß ich im Lazarus einstellen, damit ich eine
stinknormale 32-Bit Konsole-Anwendung für Windows
erzeugen kann?
Du musst 32bit compiler mit bibliotheken installiert haben, vielleicht installierst du es in ein seperates verzeichniss nochmal, die 32bit version von freepascal/lazarus.
Eine Dll ist eine seperate datei, ja.
Gruß vom KodeZwerg
  Mit Zitat antworten Zitat
Benutzerbild von jaenicke
jaenicke

Registriert seit: 10. Jun 2003
Ort: Berlin
9.582 Beiträge
 
Delphi 11 Alexandria
 
#9

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 21. Jul 2023, 23:13
Die einfachste Lösung scheint mir noch das Auslagern aller benötigten Delphi-Routinen in eine DLL, wie Sebastian es vorgeschlagen hat. Aber dann würde z. B. eine Lazarus-Exe alleine nicht laufen, nur im Doppelpack mit obiger DLL.
Du kannst auch Interfaces verwenden. Dann kannst du deine vermutlich ja ohnehin schon bestehenden Klassen einfach komplett in die DLL packen und über Interfaces ansprechen.

Ja, sie läuft nur mit der DLL, aber du kannst die DLL auch dynamisch laden, als Ressource mitliefern und vor dem Laden schlicht in das Temp-Verzeichnis auspacken (wenn sie nicht schon bei der Exe liegt). Manche Virenscanner mögen das nicht unbedingt, aber ansonsten funktioniert das sehr gut.
Sebastian Jänicke
Alle eigenen Projekte sind eingestellt, ebenso meine Homepage, Downloadlinks usw. im Forum bleiben aktiv!
  Mit Zitat antworten Zitat
Andreas13

Registriert seit: 14. Okt 2006
Ort: Nürnberg
719 Beiträge
 
Delphi XE5 Professional
 
#10

AW: Delphi-Code mit Lazarus kompilieren - es klappt nicht...

  Alt 22. Jul 2023, 00:19
Du musst 32bit compiler mit bibliotheken installiert haben, vielleicht installierst du es in ein seperates verzeichniss nochmal, die 32bit version von freepascal/lazarus.
Daran hat es gelegen!
Habe das 64-Bit-Lazarus komplett deinstalliert und komplett durch das brandneue lazarus-3.0RC1-fpc-3.2.2-win32.exe ersetzt.

Fazit:
Alles läßt sich problemlos kompilieren, nachdem ich mittels
Werkzeuge --> Delphi-Umwandlung --> Delphi- in Lazarus-Projekt umwandeln
ausgeführt hatte.

Vielen Dank für Eure Hilfe!
Grüße, Andreas
Wenn man seinem Nächsten einen steilen Berg hinaufhilft, kommt man selbst dem Gipfel näher. (John C. Cornelius)
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 1 von 2  1 2      


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 15:43 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