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