Considérations relatives aux macros GDL
Les macros GDL ont une étendue et une durée de vie. Les macros ne peuvent être référencées qu’à partir du point de définition jusqu’à la fin du niveau d’imbrication qui contient la construction de définition de macro.
Une macro définie au niveau racine a une étendue et une durée de vie illimitées. Plusieurs macros portant le même nom peuvent être définies dans le même espace de noms. Les définitions les plus récentes masquent toutes les définitions précédentes. Les définitions précédentes seront découvertes après l’expiration de la définition la plus haute.
Si une définition de macro de bloc utilise une directive #Includes pour inclure un fichier précompilé, le contenu du fichier n’apparaît pas dans la définition de macro, car les fichiers déclarés comme précompilés ne sont pas utilisés en ligne, mais deviennent des entités autonomes.
Pour la compatibilité descendante, la prise en charge des valeurs de paramètre est activée pour toutes les définitions de macros de valeur.
Une définition de macro ne peut pas se référencer elle-même. Toutefois, une référence de macro peut se transmettre une référence en tant que paramètre.
L’exemple de code suivant montre comment passer une référence.
*InsertBlock: Myself(Myself(AnotherMacro))