Подключение библиотек
Общие сведения
Для подключения библиотек применяется ключевое слово ИСПОЛЬЗОВАТЬ вне объявления типа и тела функции или метода.
Синтаксис:
ИСПОЛЬЗОВАТЬ(<список библиотек>)
Список библиотек задается через запятую. Имя библиотеки должно задаваться константным выражением строкового типа. Расширение файла может не указываться, по умолчанию полагается расширение ibl.
Пример:
ИСПОЛЬЗОВАТЬ("ОбщиеДанные", "Утилиты")
или эквивалентная форма записи
ИСПОЛЬЗОВАТЬ("ОбщиеДанные") ИСПОЛЬЗОВАТЬ("Утилиты")
Вместе с именем файла библиотеки может задаваться относительный путь. Поиск файлов библиотек выполняется в папке проекта программы и по списку папок исходных текстов, заданному в настройках среды. Так в среде разработки список папок проектов и исходных текстов задается на закладке "Папки".
Если ни в одной из папок файл библиотеки не найден, то производится поиск соответствующего файла закрытой библиотеки. Зашифрованный файл закрытой библиотеки имеет то же имя, что и файл исходной библиотеки, но с расширением icl.
Условное подключение
Условие задается после ключевого слова ЕСЛИ константным выражением логического типа. Условие определяет список библиотек для подключения.
Синтаксис:
ИСПОЛЬЗОВАТЬ(ЕСЛИ <логическое выражение> ТО <список библиотек>)
или
ИСПОЛЬЗОВАТЬ(ЕСЛИ <логическое выражение> ТО <список библиотек 1> ИНАЧЕ <список библиотек 2>)
Пример:
ИСПОЛЬЗОВАТЬ(ЕСЛИ __КОНФИГУРАЦИЯ__ = "debug" ТО "ИнструментыОтладки")
Зависимости между библиотеками
В одной программе может использоваться сколь угодно много библиотек, причем не обязательно указывать в основном файле использование всех библиотек. Библиотеки могут использовать другие библиотеки. Однако запрещено циклическое использование библиотеками друг друга. В исходных текстах программы и библиотек может многократно встречаться подключение одной и той же библиотеки, но реальное добавление объявлений данной библиотеки производится единожды, при первом ее подключении, встреченном компилятором.
При подключении библиотеки производится объявление типов, констант, переменных и функций. При этом в определении типов и теле функций и методов допускается использование объявлений из еще не подключенных библиотек. Если во время использования типа или функции необходимая библиотека уже была подключена, то ошибки компиляции не возникает. См. также примеры зависимостей в отношениях объектных типов.