Компилятор Delphi достаточно умен, чтобы удалить неиспользуемый код. Однако используемые модули могут по-прежнему увеличивать размер конечного исполняемого файла, даже если ваш код напрямую не ссылается на содержимое модуля.
Если устройство имеет -секцию инициализации , тогда будет включен весь код, указанный в разделе.
Если устройство имеет связанных ресурсов (например, XPMan-модуль), то эти ресурсы также будут включены в ваш exe-файл.
Чтобы быть абсолютно уверенным, что юнит исключен, когда вы этого хотите, вам нужно будет использовать условные директивы, подобные этому:
uses
{$ifdef usebigcomponent}
BigUnit,
{$endif}
SysUils;
В приведенном выше примере usebigcomponent определяется в «Условных определениях» в параметрах проекта или с помощью директивы {$ define}. Когда usebigcomponent не определен, единица будет исключена. Условные директивы затруднят чтение вашего кода, поэтому вам решать, считаете ли вы, что оно того стоит для меньшего исполняемого файла.