__declspec(delphirecord)
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}.