Вы можете использовать {$UNDEF NAME}
для отмены определения символа, эквивалентного #undef
в C и C ++. Возможность отмены определения условия применима только на уровне единиц и не может применяться в рамках всего проекта. Другими словами, вы не можете сбросить условия в командной строке. Это ничем не отличается от возможностей, предлагаемых наборами инструментов C или C ++.
Очень распространенным подходом является размещение всех ваших условных определений в общем файле .inc
, который затем включается в заголовок каждого исходного файла, который опирается на эти определения. Если вы все устроите таким образом, то у вас будет вся необходимая гибкость.
Я знаю, что это будет небольшим утешением, но более поздние версии Delphi имеют гораздо более сильную поддержку управления конфигурацией. Современные версии Delphi используют систему msbuild. Они позволяют использовать одинаковые параметры конфигурации в IDE и в командной строке. Существует гибкость, позволяющая, например, определять параметры отладки и выпуска и легко переключаться между ними. Я знаю, что мне очень приятно знать, что я использую ту же сборку в среде IDE, что и в командной строке. Я не чувствовал себя настолько защищенным в старых версиях Delphi.