Blockmakros
Wichtig
Die moderne Druckplattform ist die bevorzugte Methode von Windows für die Kommunikation mit Druckern. Wir empfehlen die Verwendung des Microsoft IPP-Treibers für die Posteingangsklasse zusammen mit Print Support Apps (PSA), um das Druckverhalten in Windows 10 und 11 für die Entwicklung von Druckergeräten anzupassen.
Weitere Informationen finden Sie unter Moderne Druckplattform und im Designhandbuch für die Drucksupport-App.
Ein Blockmakro wird verwendet, um eine Gruppe von GPD-Dateieinträgen zu trennen, die Sie wiederholt in eine GPD-Datei einfügen möchten Sie können jeden Eintragstyp in eine Blockmakrodefinition einschließen, z. B. Feature- und Optionsanweisungen, Attributspezifikationen und Verweise auf Wertmakros oder andere Blockmakros.
Für die Verwendung von Blockmakros gelten die folgenden Regeln:
Eine Blockmakrodefinition innerhalb einer GPD-Datei muss vor allen Verweisen auf sie angeordnet sein.
Ein Blockmakro, das auf Root-Ebene definiert ist (d. h. nicht in geschweiften Klammern), ist über die GPD-Datei, die es definiert, verfügbar, nachdem es definiert wurde. Andernfalls ist der Geltungsbereich eines Blockmakros die Menge der linken und rechten geschweiften Klammern, die seine Definition enthalten.
Eine Blockmakrodefinition kann Definitionen zusätzlicher Blockmakros und Wertmakros enthalten.
Eine Blockmakrodefinition kann auf andere zuvor definierte Blockmakros und Wertmakros verweisen, jedoch nicht auf sich selbst verweisen.
Blockmakros akzeptieren keine Argumente.
Wenn geschweifte Klammern in einem Makrotext enthalten sind, müssen sie gekoppelt werden (d. h. es muss eine gleiche Anzahl von linken und rechten geschweiften Klammern vorhanden sein).
Wenn Sie zwei Blockmakros mit demselben Namen erstellen, gilt die erste Definition so lange, bis der GPD-Parser auf die zweite Definition stößt. Die zweite Definition ersetzt dann die erste. Endet der Geltungsbereich der zweiten Definition, wird die erste Definition wiederhergestellt.
Blockmakroformat
Um ein Blockmakro in einer GPD-Datei zu definieren, verwenden Sie das folgende Format:
*BlockMacro: BlockMacroName {BlockMacroBody}
Dabei ist BlockMacroName ein eindeutiger Name, und BlockMacroBody ist ein Satz von mindestens einem GPD-Dateieintrag. Wenn BlockMacroBody geschweifte Klammern enthält, müssen gleiche Zahlen von linken und rechten geschweiften Klammern ( {, } ) enthalten sein.
Sie können z. B. ein Blockmakro namens EnvelopeDefaults definieren, das wie folgt definiert ist:
*BlockMacro: EnvelopeDefaults
{
*PrintableArea: PAIR(4646, 6738)
*PrintableOrigin: PAIR(150, 150)
*RotateSize: TRUE
}
Referenzieren von Blockmakros
Um ein Blockmakro zu referenzieren, verwenden Sie das folgende Format:
*InsertBlock: =BlockMacroName
Dabei ist BlockMacroName ein eindeutiger Name, der zuvor in dem *BlockMacro-Eintrag angegeben wurde, der das Makro definiert.
Um beispielsweise das Makro EnvelopeDefaults in einer Optionsspezifikation zu referenzieren, könnten Sie die folgenden Einträge verwenden:
*Option: Env9
{
*InsertBlock: =EnvelopeDefaults
}