Delphi in C++?



  • Vorne weg: Ich hab 0 Ahnung von Delphi.

    Ich hab hier eine Delphi Bibliothek (nur Source Code in Form von .pas Dateien), welche eine Menge Funktionen und Klassen enthält.

    Meine Frage: Kann ich IRGENDWIE die Delphi Bibliothek in C++ benutzten? Es kann eigentlich auch C++/CLI oder C# sein.



  • Ich hab gegoogelt, vielleicht hilts:
    http://entwickler-forum.de/showthread.php?t=6850



  • Gegoogled habe ich auch schon^^
    Aber das Problem sind bei DLLs die Klassen...

    Ich hab mal nen paar automatische Delphi-->C# Konverter ausprobiert. Allerdings übersetzten die alle die Hauptdatei (13192 Zeilen...) mehr schlecht als Recht.



  • Gugi schrieb:

    Gegoogled habe ich auch schon^^
    Aber das Problem sind bei DLLs die Klassen...

    Nun. Laut Forensuche gabs das selbe Problem hier schon einmal - ungelöst. Was ist das für Delphi Code? Sicherlich gibts doch ein schönes C++ Äquivalent!



  • Uhm, wtf xD Während ich editiert hab, hast du gepostet xD

    Nein, es gibt kein C++ Äquivalent.



  • Ursprünglich war die DLL-Schnittstelle für C ausgelegt.
    Wenn ihr darüber mit anderen Sprachen Daten handeln wollt, ist das relativ überschaubar, wenn ihr innerhahl der jeweiligen Sprache die DLL und das aufrufende Programm schreibt oder, wenn verschiedene Sprachen zum Einsatz kommen, versucht "C-komforme" Datenschnittstellen aufzubauen.

    Bin jetzt bei Delphi nicht ganz auf dem Laufenden - ist das heute nicht so das der selbe Compiler nicht Delphi und C++ übersetzen kann? Kannst du dies bei deinem Vorhaben nicht nutzen?

    MfG f.-th.



  • Gugi schrieb:

    Meine Frage: Kann ich IRGENDWIE die Delphi Bibliothek in C++ benutzten?

    Ja - der Delphi-Compiler ist in der Lage, für die .pas-Dateien Headerdateien zu generieren, die mit C++Builder verwendet werden können. Wenn du mit C++Builder arbeitest, kannst du Delphi-Units einbinden wie gewöhnliche C++-Header.



  • vielleicht hilfs ja:

    http://ivan.vecerina.com/code/delphi2cpp/

    Beim Delphi-Code den ich übersetzen wollte waren leider Variante Records enthalten. Das kann der Konverter nicht.

    --- Sven



  • Das Programm wirft mir ein "Unexpected token ;" entgegen 😕

    Aber die Arbeit, den ganzen Code nach C++ zu übersetzten, mach ich mir wahrscheinlich nicht, selbst wenn ein Tool das meiste erledigt. Sind immerhin 13000 Zeilen an teilweise ziemlich verzwickten, unkommentierten Code.

    Ich hab mir Lazarus runtergeladen und es geschafft, den Code zu kompilieren. Es ist in dem Fall glaube ich einfacher, Delphi zu lernen^^

    Eine Idee wäre evtl. noch, das ganze unter .NET zu kompilieren. Hab aber mit der Bibliothek irgendwo gelesen, dass das nicht klappt.

    @audacia: Meinst du, dass die Bibliothek in eine DLL kompiliert, automatisch Header generiert werden und dass man dies einfach in C++ Builder benutzten kann?



  • Gugi schrieb:

    @audacia: Meinst du, dass die Bibliothek in eine DLL kompiliert, automatisch Header generiert werden und dass man dies einfach in C++ Builder benutzten kann?

    Ja - allerdings brauchst du nicht einmal eine DLL, du kannst den Delphi-Code auch statisch in eine C++Builder-Anwendung linken.


Anmelden zum Antworten