![]() |
Interface von Delphi -> C++?
Tag allerseits,
mich würde interressieren ob man ein Interface aus delphi an ein in C++(nicht Builder) geschriebenes programm zur nutzung weitergeben kann? |
AW: Interface von Delphi -> C++?
Zitat:
|
AW: Interface von Delphi -> C++?
Wenn es auf COM-Style ist ja.
Lies dir mal das durch: ![]() |
AW: Interface von Delphi -> C++?
@Bernhard Geyer:
Jain, das ist von C++ nach Delphi. Wenn es andersrum keinen unterschied macht. Auf diesen Artikel war ich vor wenigen Tagen schonmal gestoßen. War mir aber unsicher ob das auch andersrum geht. @Sir Rufo Wenn ich also prinzipiel überall stdcall hinter/vorklatsche würde es passen? |
AW: Interface von Delphi -> C++?
Zitat:
AFAIK ist das Problem das im C++Standard nicht genau festgelegt ist wie die Methodentabelle genau aufgebaut ist (Basisadresse und Co.). MS hat diese Problem im COM-Standard mit genauen regeln gelöst so das Interfaces Sprachübergreifend funktionieren. |
AW: Interface von Delphi -> C++?
ah ok. Gut zu wissen. Also kann ich somit für ein DelphiHauptprogramm Interfaces erstellen, die mir ein Pluginsystem ermöglichen, welche auch Plugins aus C++ erlauben^^
|
AW: Interface von Delphi -> C++?
Ich würde die Interfaces aber nicht nur für C++ verfügbar machen, sondern allgemeiner für COM, wie es hier auch schon andere gesagt haben.
Hier gibt es eine schöne Tabelle dazu: ![]() Denn im oben genannten Thema ist das z.B. schon mit dem einfach Booleschen Datentypen problematisch (bool<->Boolean). Delphi: Zitat:
![]() C++: Zitat:
![]() D.h. in C++ war ein Bool mal mit 4 Bytes definiert. Aber von C++ gibt es ja nicht nur das C++ aus Visual Studio, sondern auch einige freie Compiler. Dort kann der Datentyp noch ganz anders definiert sein. Sowas endet dann früher oder später im Chaos ;) Für die größte Kompatibilität immer COM nehmen und das heißt in diesem super simplen Beispiel WordBool nehmen :) Der Nachteil an COM ist die Geschwindigkeit (reference counting), aber bei der heutigen Leistung eines PC spielt das keine Rolle mehr ;) |
AW: Interface von Delphi -> C++?
Zitat:
Damit lassen sich Exceptions einfacher zwischen den Systemen austauschen. ![]() ![]() |
Alle Zeitangaben in WEZ +1. Es ist jetzt 06:13 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz