Работа с единственной версией приложения представляется гораздо более удобным подходом, чем создание нескольких версий. Предположим, имеется приложение, которое используется несколькими отделами. Большая часть приложения является общей и может использоваться всеми отделами, но небольшие блоки кода должны быть приспособлены под нужды каждого отдела. Если принято решение создать несколько версий, обновление и поддержка всех версий может оказаться непосильной задачей. Каждый новый блок общего кода необходимо добавлять во все версии. Кроме того, большое количество версий усложняет работу с приложением и затрудняет его распространение.
Гораздо удобнее создать единственную версию приложения, которая по-разному выполняется при разных обстоятельствах. Можно выбрать, какая часть кода в приложении компилируется или выполняется в зависимости от обстоятельств.
В качестве примера допустим, что в Лос-Анджелесском отделении предприятия должна выполняться некоторая часть кода, которая не выполняется ни в одном из других отделений. Во-первых, необходимо выбрать константу для данного отделения, например, LA.
Константу нужно ввести как аргумент условной компиляции для приложения. В редакторе Visual Basic в меню необходимо выбрать команду Tools | Apllication's Properties (Сервис | Свойства приложения). Откроется диалоговое окно Project Properties (Свойства проекта). Нужно выбрать вкладку General (Общие). В поле Conditional Compilation Arguments (Аргументы условной компиляции) необходимо ввести LA = -I. Данное выражение позволяет установить константу равной True.
Теперь можно ввести код, который выполняется только для версии LA приложения. Для этого необходимо записать код в конструктив условной компиляции. Например:
#If LA Than
' Данный код выполнятся в IA-версии приложения.
#End If
Кроме того, условная компиляция может оказаться полезным средством отладки. Если необходимо часто комментировать разделы кода, нужно установить аргумент условной компиляции fComment = -1. Данный флаг комментария теперь можно использовать в конструктиве условной компиляции для комментирования разделов кода:
#If fComment Then
' Выполняется данный код.
#End If