C++-Klassen, die die Sprache Object Pascal unterstützen
Nach oben zu Unterstützung für Delphi-Datentypen und Sprachkonzepte
Einige Object-Pascal-Datentypen und -Sprachkonstrukte, die keine integrierte Entsprechung in C++ haben, sind in C++ als Klassen oder Strukturen implementiert. Zum Implementieren von Datentypen und Object-Pascal-Sprachkonstrukten, wie z.B. eine Menge, von der ein spezieller Typ deklariert werden kann, werden auch Klassen-Templates verwendet. Die entsprechenden Deklarationen befinden sich in den folgenden Header-Dateien:
Header-Datei | Definierte Klassen |
---|---|
dstring.h |
SmallString und ShortString (Zeichen-Strings mit fester Länge) |
wstring.h |
WideString (BSTR-Wrapper für die Verbindung mit COM) |
sysclass.h |
Makros und C++-Streaming-Operatoren (>) für einige Delphi-Typen (AnsiString, UnicodeString, SmallString, Currency, TDateTime und Variant - HINWEIS: zuerst einbeziehen und VCL_IOSTREAM definieren) |
syscomp.h | Comp (Gleitkommatyp für die Abwärtskompatibilität) |
syscurr.h | Currency (für Währungsbeträge) |
sysdyn.h | DynamicArray (generischer Array-Typ im Delphi-Stil mit variabler Größe) |
sysmac.h |
Enthält Makros für Delphi-Compiler, die bei der Compilierung der RAD Studio-Bibliotheken verwendet werden sollen: PACKAGE, PASCALIMPLEMENTATION, DELPHICLASS, DYNAMIC, HIDESBASEDYNAMIC und HIDESBASE, DECLSPEC_DRTTI, DECLSPEC_DRECORD, BEGIN MESSAGE MAP, die Klasse StaticArray (damit Delphi-Code Arrays von Funktionen zurückgeben kann) |
sysopen.h | OpenArray-Typ und die Makros OPENARRAY(), ARRAYOFCONST(), EXISTINGARRAY(), ARRAYSIZE() und SLICE() (zur Übergabe von Argumenten von offenen Arrays an Delphi) |
sysset.h | Set (Delphi-kompatible typisierte Bitset-Klasse) |
systdate.h | TDateTime (Typ zum Speichern von Datums-/Zeitangaben mit zusätzlichen Methoden für eine einfache Verwendung und Konvertierung) |
systobj.h | TObject (ultimative Basisklasse für Klassen im Delphi-Stil), DelphiInterface (allgemeiner Smart-Zeiger für Interfaces), interface_cast (zur Umwandlung zwischen unterschiedlichen Interfaces oder zwischen Interfaces und Objekten), TInterfacedObject, TCppInterfacedObject, TAgreggatedObject, TCppAgreggatedObject, TContainedObject (Basisklassen für Klassen, die Interfaces implementieren), TCustomAttribute (Basisklasse für benutzerdefinierte Delphi-Attribute) |
systvar.h | TVarRec (Unterstützung für offene Delphi-Arrays; nicht manuell verwenden, sondern mit den Makros OPENARRAY() und ARRAYOFCONST()) |
systvari.h | OleVariant (kapselt den COM-Variant-Typ) und Variant (kapselt den Delphi-Variant-Typ) |
ustring.h | UnicodeString (UTF-16-String-Typ) |
Die in diesen Header-Dateien implementierten Klassen unterstützen in Object-Pascal-Routinen verwendete native Typen. Sie sollten beim Aufruf dieser Routinen in RAD Studio-bibliotheksbasiertem Code verwendet werden.