Запретить неявный импорт модулей в пакетах Delphi - PullRequest
5 голосов
/ 17 сентября 2008

Есть ли способ запретить пакетам в Delphi неявно импортировать модули, которые не перечислены в списке «Содержит»? Я ищу директиву компилятора, которая приводит к сбою сборки, если она пытается выполнить неявный импорт.

Проблемы возникают, когда вы устанавливаете пакет в среду IDE, которая неявно импортирует модуль A, а затем вы пытаетесь установить другой пакет, который действительно содержит модуль A, и среда IDE сообщает вам, что не может установить этот пакет, поскольку модуль A уже содержится в первый пакет, даже если его не должно быть!

Ответы [ 3 ]

5 голосов
/ 17 сентября 2008

Delphi 2009 имеет возможность превращать предупреждения в сбои. Это будет делать то, что вы хотите сделать, до тех пор, пока это не сработает.

Чтобы предотвратить неявный импорт, вы должны импортировать его явно или удалить модуль, который неявно импортирует его.

3 голосов
/ 08 октября 2008

Если вы используете версию Delphi, которая старше 2009 года, вы можете заставить предупреждение вызвать ошибку, используя DDevExtensions (это бесплатно). После установки перейдите в Инструменты> DDevExtensions - Опции и в разделе «Улучшения компилятора» установите флажок «Активно» и «Обрабатывать предупреждения как ошибки». Вы можете добавить предупреждения, которые вы хотите, чтобы они не рассматривались как ошибки в памятке ниже. К сожалению, в вашем случае, похоже, что вы просто хотите, чтобы одно предупреждение было обработано как ошибка, поэтому вам придется добавить практически все предупреждения, кроме предупреждения о неявном импорте в список, хотя в общем случае это хорошая практика кодирования для разрешения в любом случае все предупреждения компилятора, так что вы можете захотеть, чтобы все предупреждения вызывали ошибки.

0 голосов
/ 17 сентября 2008

Нет способа превратить это предупреждение в ошибку. В Delphi 2009 вы можете использовать все предупреждения как ошибки.

PS: это ошибка в Delphi для .Net

...