18.11.2025
Delphi2CB 2.6.0
1) Vollständig überarbeitete Interface-Unterstützung
Delphi2CB 2.6.0 bietet nun eine präzise Abbildung der Delphi-Interface-Mechanik auf den nativen C++Builder-Standard:
|
Damit werden Delphi-Interfaces 1:1 in gültige, kompilierbare C++Builder-Interfaces übersetzt.
2) Neues Modul d2c_sysinterface.h
Ein neues internes Modul bündelt alle wichtigen Interface-Hilfsfunktionen und Typen:
DiOut - sicheres Übergabeobjekt für QueryInterface
as_di<T> - typsichere Interface-Konvertierung
FromInterface() - rekonstruiert das zugrunde liegende Objekt
Supports() - prüft dynamisch auf implementierte Interfaces
ObjectIs() - Typprüfung analog zu Delphi is
Diese Funktionen bilden das Rückgrat der neuen Interface-Übersetzung.
3) Verbesserte Übersetzung von Interface-Deklarationen
Delphi2CB erkennt automatisch GUIDs in Delphi-Interfaces und überträgt sie als
INTERFACE_UUID("{...}") in die C++Builder-Syntax.
Beispiel:
Delphi
type
IFoo = interface
['{12345678-1234-1234-1234-1234567890AB}']
procedure DoSomething;
end;
C++Builder
__interface INTERFACE_UUID("{12345678-1234-1234-1234-1234567890AB}") IFoo : public IInterface
{
virtual void __fastcall DoSomething() = 0;
};
Damit entsteht korrekter, idiomatischer C++Builder-Code.
4) Unterstützung für TInterfacedObject und TCppInterfacedObject
Delphi2CB nutzt die nativen Embarcadero-Klassen: TInterfacedObject und TCppInterfacedObject
5) Bessere Fehlermeldungen und Exception-Handling
Neue Hilfsfunktionen liefern aussagekräftige Laufzeitfehler bei fehlerhaften Interface-Casts:
qi_as_throw<T> - wirft EIntfCastError bei ungültigen Casts
from_interface_or_throw()- prüft Objekt-Typkonsistenz
Dadurch ist das Verhalten identisch zu Delphi, inklusive Ausnahmen vom Typ EIntfCastError oder EInvalidCast.
28.10.2024
siehe Delphi2Cpp 2.5.0
26.08.2024
Es gibt nun eine zusätzliche Version der für den C++Builder übersetzten Synedit-Komponenten für den modernen Compiler mit 64 bit. Auch die bisherigen Versionen wurden teilweise aktualisisert.
https://github.com/dm-e/SynEditCb
ansonsten siehe Delphi2Cpp 2.4
19.10.2023
Delphi2CB 2.3
Konvertierung von DFM-Dateien nach C++
- Der Code von DFM-Dateien kann nun optional in C++-Code konvertiert werden, der zur Laufzeit beim Erstellen des Formulars oder eines Frames ausgeführt wird. Im Wesentlichen besteht der DFM-Code aus einer Reihe einfacher Zuweisungen von Werten zu Komponenteneigenschaften. Delphi2Cpp gelingt es auch, andere, teilweise komplexe Serialisierungsaktionen auf intuitive und einfache Weise abzubilden. Hierzu werden spezielle Routinen aufgerufen, die den Eigenschaften die Werte nicht direkt zuweisen, sondern diese als Argumente an die Routinen übergeben, in denen dann weitere Aktionen ausgeführt werden können. Speziell für Komponenten von Drittanbietern kann Delphi2Cpp so konfiguriert werden, dass es solche benutzerdefinierten Funktionen aufruft.
Durch die Übersetzung des DFM Codes lassen sich im C++Builder GUI-Anwendungen bauen, die gänzlich ohne DFM Dateien auskommen.
Mehr Details zur Konvertierung von DFM-Dateien
31.01.2023
Delphi2CB 2.2
Übernahme von Änderungen an Delphi2C# zur erleichterten Übersetzung unvollständigen Codes
|
02.07.2022
Delphi2CB 2.1
|
9.9.2021
Delphi2CB erschienen
english
| Letzte Neuigkeiten |
|
18.11.25
Delphi2CB 2.6: Delphi Interfaces [more...] |
|
28.10.24
Delphi2CB 2.5: in Groß- und Kleinschreibung mit Deklarationen übereinstimmende Symbolnamen [more...] |
|
"Hammer, ich hab es tatsächlich hinbekommen bei beiden Projekten." Christoph Wildensee
auditplan-xp
02.10.2024
|
|
Diese Homepage ist aus einfachen Texten mit [Minimal Website ]generiert.
|
Minimal Website ist mit Hilfe des TextTransformers hergestellt.
|
Der TextTransformer ist gemacht mit dem Borland
CBuilder
|