Пожалуйста, также посмотрите это обсуждение: Почему Delphi изменяет исходный файл dpk Indy, когда я изменяю параметры проекта и this .
"Директивы компилятора, которые появляются между$ IFDEF IMPLICITBUILDING и $ ENDIF обычно передаются компилятором в качестве параметров при явной компиляции пакета, поскольку эти параметры изменяются в зависимости от конфигурации (отладка / выпуск) и целевой платформы (Win32, Win64, OSX32), их статически проблематичноопределяется в источнике проекта пакета. При определении в источнике проекта они всегда будут переопределять параметры, передаваемые компилятором. $ IFDEF предотвращает использование этих параметров во время явной компиляции.
В случаях, когда пакет неявно используетсяСкомпилированные эти параметры будут использоваться, но если ваш проект не был сохранен в режиме конфигурации / цели, для которого вы хотите скомпилировать, вы можете не получить ожидаемых результатов.
Как правило, лучше отключить неявныйздание оn пакеты и скомпилируйте их явно через сборку группы проекта или через зависимости проекта.Если вы строите только для одной платформы, используя единственную конфигурацию, то неявный механизм построения адекватен.
IMPLICITBUILDING определяется компилятором во время компиляции пакета, который неявно компилируется как часть компиляциичто-то, что зависит от этого.Как указано в комментарии, вы не должны пытаться определить это значение самостоятельно "