DEFINEs im Code gelten immer nur für den nachfolgenden Teil der selben Datei.
Ausnahme sind INCLUDE-Dateien. {$I xyz} bzw {$INCLUDE xyz}
Was in denen steht, das gilt anschliedend auch im Einbindenden (
PAS/
DPR) und was im Einbindenden vorher stand gilt auch hier.
In den Projektoptionen ("Bedingungen" im Deutschen) oder als Parameter an DCC/MAKE kann man DEFINEs definieren, die Projektweit für alles "Neukompilierte" gelten.
Schwachsinniger und total verwirrender Sonderfall:
In Packages (DPK) stehen die DEFINEs von den Projektoptionen, allerdings nicht die der aktiven Build-Konfiguration, sonden von der BASE-Konfiguration.
Außerdem Synchronisiert die Delphi-
IDE den Inhalt der DPK in die Projektoptionen und aktuell Änderungen der Projektoptionen und der Projektverwaltung werden in die DPK kopiert.