Управление сборкой проекта Назад В начало Вперед

Для управления сборкой проекта используется широко распространенная директива #make. Но, в отличие от других языков программирования, в VIP эта директива входит в состав языка. Это означает, что ее можно добавлять в исходный текст программ - конечно, с соблюдением синтаксиса языка (в частности - за пределами интерфейса или другой программной единицы). Но обычно эти директивы группируются в файлы управления сборкой проекта (файл проекта). Файл проекта объединяет несколько исходных файлов в одну единицу сборки.

При компиляции файла проекта необходимо выключить опцию компилятора /M (убрать ее из файла конфигурации). Иначе проверка на дату будет делаться по самому файлу-проекту, а не по исходным файлам.

Т.к. директива #make является частью языка VIP, файл проекта является обычным компилируемым модулем и в него можно добавлять другие конструкции языка. В частности, в нем можно объявлять константы и переменные. Описания констант и переменных могут располагаться в любом месте файла проекта. Но обычно описания констант лежат в отдельном файле (в нескольких файлах) и включаются в файл проекта с помощью директивы #include. Для директивы #include как правило используется первая строка файла проекта.

Переменные, объявленные в файле проекта, являются глобальными и видны в любой точке проекта. Массивы в файле проекта не объявляются. Проект не имеет глобальных массивов. Все константы проекта являются глобальными независимо от уровня, на котором они объявлены.

Для того чтобы избежать неоднократной компиляции файла с константами можно включить его в первую строку файла проекта с помощью #include. При этом из самих *.VIP файлов этот #include необходимо убрать.

При компиляции программного модуля, написанного на VIP, компилятору должны быть доступны статус-строки, используемые в этом модуле. Директива #statusline позволяет включить в файл проекта ссылку на описание статус-строк. Описание должно быть предварительно откомпилировано, а соответствующий ресурс подключен к компилятору (параметр System.OpenResources файла конфигурации).

Смотрите также

Пример

#statusline "StatGal"

#include core.inc
#include sklad.inc
end;

// "Ядро приложения"
#component "C_CORE"
#make "Src\vip\Core\Materials.vip"
#make "Src\vip\Core\Executors.vip"
#make "Src\vip\Core\twPRJEXECUTORS.vip"
#make "Src\vip\Core\twPRJMATERIALS.vip"

// "Управление снабжением"
#component "C_SKLAD"
#make "Src\vip\Sklad\twKatMaterials.vip"
#make "Src\vip\Sklad\KatMaterials.vip"