Freigeben über


Überlegungen zu GDL-Makros

GDL-Makros haben Bereich und Lebensdauer. Auf Makros kann nur vom Definitionspunkt bis zum Ende der Schachtelungsebene verwiesen werden, die das Makrodefinitionskonstrukt enthält.

Ein Makro, das auf Stammebene definiert ist, verfügt über unbegrenzten Gültigkeitsbereich und unbegrenzte Lebensdauer. Mehrere Makros mit demselben Namen können im selben Namespace definiert werden. Die neueren Definitionen blenden alle vorherigen Definitionen aus. Die vorherigen Definitionen werden nach Ablauf der obersten Definition ermittelt.

Wenn eine Blockmakrodefinition eine #Includes-Direktive verwendet, um eine vorkompilierte Datei einzuschließen, wird der Inhalt der Datei nicht in der Makrodefinition angezeigt, da Dateien, die als vorkompiliert deklariert sind, nicht in der Zeile verwendet werden, sondern zu eigenständigen Entitäten werden.

Aus Gründen der Abwärtskompatibilität ist die Parameterwertunterstützung für alle Wertmakrodefinitionen aktiviert.

Eine Makrodefinition kann nicht auf sich selbst verweisen. Ein Makroverweis kann jedoch einen Verweis an sich selbst als Parameter übergeben.

Das folgende Codebeispiel zeigt, wie ein Verweis übergeben wird.

*InsertBlock:  Myself(Myself(AnotherMacro))