AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren

Delphi und C++ Builder, Verwendung der Klassen

Ein Thema von Bambini · begonnen am 23. Aug 2016 · letzter Beitrag vom 23. Aug 2016
Antwort Antwort
Bambini
(Gast)

n/a Beiträge
 
#1

Delphi und C++ Builder, Verwendung der Klassen

  Alt 23. Aug 2016, 09:23
Kleine Frage an die Kompatibilität Delphi und C++ Builder:

- Soweit ich gelesen habe, kann der C++ Builder die Delphi Units (DCU) verwenden oder gibt es da Einschränkungen?
- Geht das auch umgekehrt? Kann Delphi auch C++ Units verwenden und sich von C++ Klassen ableiten?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.152 Beiträge
 
Delphi 10 Seattle Enterprise
 
#2

AW: Delphi und C++ Builder, Verwendung der Klassen

  Alt 23. Aug 2016, 09:45
sourcecode.pas-Datei ins Projekt aufnehmen,
Code:
#include <sourcecode.hpp>
, fertig.

Umgekehrt geht's natürlich nicht, da es in C++ Dinge gibt die man in Delphi einfach nicht abbilden kann.
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#3

AW: Delphi und C++ Builder, Verwendung der Klassen

  Alt 23. Aug 2016, 09:45
C++ Builder hat ja quasi RTL,VCL und FMX in Pascal von Delphi "geerbt" und kann im Prinzip auch weiter alles was Pascal ist schlucken und erzeugt sich auch die passenden HPP files.
C++Builder reicht norfalls um auch etwas PAS-Source mit zu übersetzen (nur der Editor mit Formulardesigner weigern sich proforma auch PAS basiert was direkt zu bearbeiten)

Umgedreht können DelphiBasisProjekte nicht wirklich gut mit CPP/OBJ Files umgehen. Man braucht also RadStudio um Delphi&C++ Sachen zu editieren und in Mischprojekten definiere&schreibe man das Basisprojekt(Formular) in C++. Und wenn man dann endlich geschafft hat, Delphi mit C++ Dateiweise zu mischen, wird man mit dem C++ Source niht mehr glücklich, denn derist dann definitiv ausserhalb von RadStudio zu nix mehr portabel.

=> etwas PAS/Delphi Komponenten in C++Builder ja.
=> C++ Zeug per RadStudio direkt in Delphi eingemischt, besser nein!... da lieber klassische DLLs, das funktioniert auch mit C++Zeug von VisualC usw.
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.152 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: Delphi und C++ Builder, Verwendung der Klassen

  Alt 23. Aug 2016, 09:49
Und wenn man dann endlich geschafft hat, Delphi mit C++ Dateiweise zu mischen, wird man mit dem C++ Source niht mehr glücklich, denn derist dann definitiv ausserhalb von RadStudio zu nix mehr portabel.
Sehe ich auch so. Wenn man richtig wild mischen will, dann besser mit DLLs. Das hat Skype für Win32 früher meine ich auch so gemacht: Die Hälfte war Delphi, die andere C++ (Builder?).

Denn selbst wenn der Compiler meinetwege Clang-basiert ist, der Code ist dann nicht mehr C++, sondern "Embarcadero C++".
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#5

AW: Delphi und C++ Builder, Verwendung der Klassen

  Alt 23. Aug 2016, 12:22
Denn selbst wenn der Compiler meinetwege Clang-basiert ist, der Code ist dann nicht mehr C++, sondern "Embarcadero C++".
D.h. es ist nicht möglich eine C++Builder Klasse in Delphi weiter zu verwenden bzw. eine weitere Ableitung davon zu machen?
  Mit Zitat antworten Zitat
Der schöne Günther

Registriert seit: 6. Mär 2013
6.152 Beiträge
 
Delphi 10 Seattle Enterprise
 
#6

AW: Delphi und C++ Builder, Verwendung der Klassen

  Alt 23. Aug 2016, 12:51
Also ich wäre jetzt überrascht wenn das ginge.

In C++ gehen einfach Dinge die in Delphi nicht möglich sind. Umgekehrt ist das ebenso, aber C++ kann das mehr oder weniger abbilden/emulieren (z.B. sets). Ich wüsste nicht wie man in Delphi z.B. Mehrfachvererbung machen sollte.

Wikipedia sagt:
Zitat:
C++Builder projects can include Delphi code. The Delphi compiler emits C++ headers, allowing C++ code to link to Delphi classes and methods as though they were written in C++. The reverse (C++ code being used by Delphi) is not possible.
Hier noch ein schlauer Link:
http://stackoverflow.com/q/19547495/2298252
Da wird die Geschichte ganz klassisch mit COM-Interfaces angesprochen. Da könnte es dann auch ein anderer C++-Compiler sein.

Geändert von Der schöne Günther (23. Aug 2016 um 12:53 Uhr)
  Mit Zitat antworten Zitat
mensch72

Registriert seit: 6. Feb 2008
838 Beiträge
 
#7

AW: Delphi und C++ Builder, Verwendung der Klassen

  Alt 23. Aug 2016, 12:59
D.h. es ist nicht möglich eine C++Builder Klasse in Delphi weiter zu verwenden bzw. eine weitere Ableitung davon zu machen?
das hängt von der Basisklasse und der verwendeten C++ Funktionalität ab...
wenn von TObject abgeleitet und nix mit "inline" oder BitTypen gemacht, sowie strings möglichst nur als CharArray... dann kann man das in Delphi normal weiterverwenden

Ganz böse sind ist aber das in C++ durchaus übliche statische Variablen anlegen von Klassentypen... das mag der Speichermanager von Delphi garnich, da muss man auch in C++ alles mit new anlegen und selbst wieder freigeben. Auch mit C++ Objekten, die auf Mehrfachableitungen basieren kann Delphi nicht mehr viel anfangen.

Ich belasse es bei etwas (GUI)Delphi in/für C++Builder, denn wenn ich C++ schreibe hat das seinen Sinn, weil da eben einges an API und LowLevel-Sachen geht was ich so nicht 1:1 ohne nachzudenken in Delphi hinbekomme.
  Mit Zitat antworten Zitat
Bambini
(Gast)

n/a Beiträge
 
#8

AW: Delphi und C++ Builder, Verwendung der Klassen

  Alt 23. Aug 2016, 13:39
Viele Dank für die Infos.
Wird eine C++ Builder unit in Delphi auch einfach im uses eingebunden oder ist das anders?
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 14:42 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