Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Die Delphi-IDE (https://www.delphipraxis.net/62-die-delphi-ide/)
-   -   C und Pascal Code zusammen im Projekt von Delphi2006 ? (https://www.delphipraxis.net/59030-c-und-pascal-code-zusammen-im-projekt-von-delphi2006.html)

stoxx 16. Dez 2005 01:26


C und Pascal Code zusammen im Projekt von Delphi2006 ?
 
Ein Freund hat mir erzählt, dass er mit dem Borland C++ Builder 6 auch Pascal Code in seinen Projekten verwenden konnte.
(Und/Oder Komponenten einbinden, die in Delphi geschrieben wurden)
Ich weiß darüber nichts näheres, aber ist es nun möglich, dass ich in Delphi (Pascal) Projekten in D2006 nun auch C Code verwenden und verarbeiten kann ? ( unter Win32 )

Bernhard Geyer 16. Dez 2005 07:14

Re: C und Pascal Code zusammen im Projekt von Delphi2006 ?
 
AFAIK geht nur der Weg: Pascal-Code in C++-Builder-Projekt verwende.
Ist auch nötig, da die VCL die auch im C++-Builder verwendet wird nicht neu geschrieben wurde.

stoxx 16. Dez 2005 11:04

Re: C und Pascal Code zusammen im Projekt von Delphi2006 ?
 
Zitat:

Zitat von Bernhard Geyer
AFAIK geht nur der Weg: Pascal-Code in C++-Builder-Projekt verwende.
Ist auch nötig, da die VCL die auch im C++-Builder verwendet wird nicht neu geschrieben wurde.

hmm .. das wäre schade ! geht das dann relativ einfach ? was hindert mich praktisch daran, mein projekt dann auf C++ umzustellen, den ganzen Pascal Quellcode einzufügen und mit Pascal weiterzuentwickeln ?
Oder geht das Einbinden von Pascal Code dann doch nicht so einfach ?

NicoDE 16. Dez 2005 11:14

Re: C und Pascal Code zusammen im Projekt von Delphi2006 ?
 
Zitat:

Zitat von stoxx
Oder geht das Einbinden von Pascal Code dann doch nicht so einfach ?

Aus der Pascal-Unit wird (mittels dcc32, welches beim C++-Builder mitgeliefert wird) ein Header (.hpp) für den Compiler und eine Bibliothek (.obj) für den Linker generiert...
...du musst abzuschätzen, ob sich der Aufwand lohnt die Konvertierung immer wieder durchführen zu lassen (und wieviel Arbeit dir die IDE dabei abnimmt).

stoxx 16. Dez 2005 11:21

Re: C und Pascal Code zusammen im Projekt von Delphi2006 ?
 
Zitat:

Zitat von NicoDE
Zitat:

Zitat von stoxx
Oder geht das Einbinden von Pascal Code dann doch nicht so einfach ?

Aus der Pascal-Unit wird (mittels dcc32, welches beim C++-Builder mitgeliefert wird) ein Header (.hpp) für den Compiler und eine Bibliothek (.obj) für den Linker generiert...
...du musst abzuschätzen, ob sich der Aufwand lohnt die Konvertierung immer wieder durchführen zu lassen (und wieviel Arbeit dir die IDE dabei abnimmt).

ich merke, die Möglichkeiten des Delphi Compilers sind wiedermal sehr beschränkt.
Dann überdenke ich vielleicht doch nochmal den Umstieg auf .NET :-)

Bernhard Geyer 16. Dez 2005 11:30

Re: C und Pascal Code zusammen im Projekt von Delphi2006 ?
 
Zitat:

Zitat von stoxx
ich merke, die Möglichkeiten des Delphi Compilers sind wiedermal sehr beschränkt.
Dann überdenke ich vielleicht doch nochmal den Umstieg auf .NET :-)

Das als den Grund für einen Umstieg nach .NET zu nehmen :gruebel:
Da ist auch nicht alles Möglich. Schon mal probiert ein altes MFC-Projekt nach Managed C++ zu übernehmen?
Ich denke bisher wollten nur sehr wenige user sowas haben, so daß Borland sich nicht den Aufwand gemacht hat den Delphi-Compiler auch als "Zwitter" auszulegen.

NicoDE 16. Dez 2005 11:40

Re: C und Pascal Code zusammen im Projekt von Delphi2006 ?
 
Zitat:

Zitat von stoxx
ich merke, die Möglichkeiten des Delphi Compilers sind wiedermal sehr beschränkt.

Das hat wenig mit Delphi zu tun (die dcc32.exe wird nur für die Generierung eines Headers und einer Objektdatei verwendet). Normalerweise benutzt man Pascal-Code im C++-Builder nur, wenn er relativ statisch ist (Komponenten, Standard-Klassen, Interfaces). Man kann also (dafür vorbereitete) Pascal-Komponenten im BCB benutzen... das ist praktisch, wenn man mit beiden Borland-Produkten zu tun hat und nicht alle Klassen/Komponenten doppelt schreiben will.

Der Rückweg (C/C++ in Delphi) ist leider nicht so einfach. Man muss selbst eine Pascal-Unit schreiben und die vom BCB generierten Objektdateien referenzieren. Leider ist man dabei AFAIK auf C beschränkt, da der COFF/OMF-Linker von Delphi einer der einfachsten ist... das ist so aufwändig, dass dies nur selten gemacht wird.

Kurz, wie Bernhard schon erwähnte, ist nur der Weg Pascal->C++ praktikabel. Und auch nur dann, wenn man hauptsächlich in C++ arbeitet und Pascal-Komponenten/Interfaces benutzen möchte/muss.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:41 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