__declspec(delphirecord)

Aus RAD Studio
Wechseln zu: Navigation, Suche

Nach oben zu Schlüsselwörter alphabetisch - Index


Kategorie

Modifizierer, Schlüsselwort-Erweiterungen, Speicherklassenspezifizierer

Syntax

__declspec( delphirecord ) declarator

Das Speicherklassenattribut delphirecord wird beim Konvertieren von Delphi-Records in C++-Klassen/Strukturen in .hpp-Headern (mit dcc32 -JPHNE <Dateiname.pas>) verwendet. In Delphi gibt es eine Konvention bezüglich Records, die von Funktionen zurückgegeben werden, die besagt, dass eine solche Funktion einen verborgenen Parameter zurückgibt, der auf den zurückzugebenden Record zeigt. Delphi gibt einen Zeiger auf eine Position zurück, die mit 0 initialisiert ist; in C++ gibt es eine derartige Garantie nicht. Wenn C++ eine Struktur findet, die von einer Funktion zurückgegeben wird und die als __declspec(delphirecord) gekennzeichnet ist, füllt es aus Übereinstimmungsgründen die Speicherposition mit Null auf.

Hinweis: Es gibt einen speziellen Fall, für den Benutzer eine __declspec(delphirecord)-Struktur explizit deklarieren sollten: für einen ursprünglich in Delphi deklarierten Record mit der Direktive {$EXTERNALSYM} oder {$NODEFINE}.

Siehe auch