Директивы компилятора - это специальные синтаксические комментарии, которые мы можем использовать для управления функциями компилятора Delphi. Компилятор Delphi имеет три типа директив: sдирективы ведьм, директивы параметров и условные директивы. Условная компиляция позволяет нам выборочно компилировать части исходного кода в зависимости от того, какие условия установлены.
DefName представляет так называемый условный символ. Delphi определяет несколько стандартных условных символов. В приведенном выше «коде», если определено DefName, код выше $ Else компилируется.
Распространенным применением директивы $ IfDef является проверка версии компилятора Delphi. В следующем списке указаны символы, которые необходимо проверить при условной компиляции для конкретной версии компилятора Delphi:
Примечание: символ VER185, например, используется для обозначения компилятора Delphi 2007 или более ранней версии.
Например, функция IncludeTrailingBackslash, представленная в Delphi 5, добавляет «\» в конец строки, если ее там еще нет. В проекте Delphi MP3 я использовал эту функцию, и несколько читателей пожаловались, что не могут скомпилировать проект - у них есть какая-то версия Delphi до Delphi 5.
Одним из способов решения этой проблемы является создание собственной версии этой подпрограммы - функции AddLastBackSlash. Если проект должен быть скомпилирован на Delphi 5, вызывается IncludeTrailingBackslash. Если используются некоторые из предыдущих версий Delphi, мы моделируем функцию IncludeTrailingBackslash.
Delphi 2007 использует VER180 для обеспечения непрерывной совместимости с Delphi 2006, а затем добавляет VER185 для разработки, которая специально предназначена для Delphi 2007 для чего угодно причина. Замечания: всякий раз, когда интерфейс модуля изменяет код, который использует этот модуль, его необходимо перекомпилировать.