Considerações sobre macro GDL
As macros GDL têm escopo e tempo de vida. As macros só podem ser referenciadas do ponto de definição até o final do nível de aninhamento que contém o constructo de definição de macro.
Uma macro definida no nível raiz tem escopo e tempo de vida ilimitados. Várias macros com o mesmo nome podem ser definidas no mesmo namespace. As definições mais recentes ocultam as definições anteriores. As definições anteriores serão descobertas depois que a definição mais alta expirar.
Se uma definição de macro de bloco usar uma diretiva #Includes para incluir um arquivo pré-compilado, o conteúdo do arquivo não aparecerá na definição de macro porque os arquivos declarados como pré-compilados não são usados em linha, mas se tornam entidades autônomas.
Para compatibilidade com versões anteriores, o suporte ao valor do parâmetro está habilitado para todas as definições de macro de valor.
Uma definição de macro não pode fazer referência a si mesma. No entanto, uma referência de macro pode passar uma referência para si mesma como um parâmetro.
O exemplo de código a seguir mostra como passar uma referência.
*InsertBlock: Myself(Myself(AnotherMacro))