C++-Klassen, die die Sprache Object Pascal unterstützen

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Unterstützung für Object Pascal-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)
AnsiStringT, AnsiString und UTF8String (Einzelbyte-Strings)

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.

Siehe auch