__declspec(delphirecord)

De RAD Studio
Aller à : navigation, rechercher

Remonter à Liste alphabétique des mots clés - Index


Catégorie

Modificateurs, Extensions des mots clés, Spécificateurs de classe de stockage

Syntaxe

__declspec( delphirecord ) declarator

L'attribut de classe de stockage delphirecord est utilisé lors de la conversion d'enregistrements Delphi en classes/structures C++ dans les en-têtes .hpp (en utilisant dcc32 -JPHNE <nomfichier.pas>). Dans Delphi, une convention concernant les enregistrements à renvoyer depuis des fonctions spécifie qu'une fonction renvoyant un enregistrement renverra un paramètre caché pointant sur l'enregistrement à renvoyer. Delphi renvoie un pointeur sur un emplacement qui est initialisé à zéro, tandis que C++ n'offre pas une telle garantie. Par souci de conformité, quand C++ trouve une structure qui est renvoyée depuis une fonction et qui est marquée par __declspec(delphirecord), il initialise à zéro l'emplacement mémoire.

Remarque : Il existe un cas particulier où un utilisateur souhaite déclarer une structure __declspec(delphirecord) explicitement : pour un enregistrement déclaré initialement dans Delphi ayant la directive {$EXTERNALSYM} ou {$NODEFINE}.

Voir aussi