понедельник, 12 апреля 2010 г.

HOWTO по переходу со строчного компилятора на Viper

Многие из нас привыкли пользоваться строчным компилятором vip при сборке собственных доработок к Галактике, да и просто для компиляции печатных форм и отчетов. Соответственно, и примеры доработок, которые включены в дистрибутив системы, тоже поставляются в виде дерева каталогов с исходными текстами, include-файлами и комплектом bat-ников, формирующих vip.cfg, и файл проекта. В поставку Галактики Экспресс строчный компилятор не входит, что поначалу вызывает озадаченность у "консервативного" разработчика. К чему все эти галочки и чекбоксы, если "раньше" все было "просто и понятно"? На самом деле, "просто и понятно" никуда не делось, поэтому для быстрого перехода надо уяснить две вещи:

1. project_name.vpr, описывающий параметры проекта, можно получить путем импорта из стандартного .cfg, используемого со строчным компилятором vip.
Например:

=vip.cfg============================================
[Compilers]

Build=On
ClearResource=On
ErrorLevel=3
IncludesPath:=C:\Sup5423\exe\vip\inc
IncludesPath=C:\Sup5423\exe\vip\source
Make=Off
OutputResourceName=C:\Sup5423\exe\Viper\EXE\RES\ins_katsopr.res
SourceExtension:=dic
SourceExtension=lot
SourcesPath:=C:\Sup5423\exe\vip\faces
SubServientResource=C:\Sup5423\exe\Viper\EXE\Atlantis.res

[Configurator]

Resource=C:\Sup5423\exe\Viper\EXE\Viper.crf

[DataBase]

DatabaseName=C:\GAL81\DATA
DictionaryDirectory=Dict

[Files]

OutputFilesDirectory=C:\Sup5423\exe\Viper\EXE\RES
TmpFilesDirectory=C:\Temp

[HardwareKey]

SharedPath=

[LicParam]

LicFileName=C:\Sup5423\exe\LICENSE.LIC

[Login]

Password=********
UserName=*********

[System]

OpenResources:=C:\GAL81\exe\M_Serv.res
OpenResources=C:\GAL81\exe\C_ExtClass.res
OpenResources=C:\GAL81\exe\extfun.res
OpenResources=C:\GAL81\exe\ExtFun_WT.res
OpenResources=C:\GAL81\exe\F_UserReport.res
OpenResources=C:\GAL81\exe\L_BaseDoc.res
OpenResources=C:\GAL81\exe\L_Common.res
OpenResources=C:\GAL81\exe\L_Dogovor.res
OpenResources=C:\GAL81\exe\L_KontrBal.res
OpenResources=C:\GAL81\exe\L_PrnSopr.res
OpenResources=C:\GAL81\exe\L_RepBaseDoc.res
OpenResources=C:\GAL81\exe\L_RepOper.res
OpenResources=C:\GAL81\exe\L_Sklad.res
OpenResources=C:\GAL81\exe\L_SoprDoc.res

[Vip] /
Debug=Off
=end of vip.cfg======================================

это vip.cfg моего проекта по сборке интерфейсов формирования накладных и актов к модулю "Сервисное обслуживание". в Viper-е создаем новый проект, обзываем его, как надо, и в секции "Компилятор VIP" параметров проекта осуществляем импорт из .cfg файла. В качестве .cfg указываем на свой конфиг, где указаны необходимые нам параметры строчного компилятора.

2. Далее, к проекту добавляем файл vip.prj (имя, естественно, может отличаться) . Например:
===========vip.prj=================================
#include galnet.inc
end;
#include ExtAttr.vih

#ifdef ComponentVersion
#component "Auto"
#end

#param /linc:C:\Sup5423\exe\vip\source\autoexec.vpp
#make "C:\Sup5423\exe\vip\faces\ins_katsopr.vip"
#make "C:\Sup5423\exe\vip\faces\oshnakl.slk"
#make "C:\Sup5423\exe\vip\faces\ins_ksopr_acts.vip"
#make "C:\Sup5423\exe\vip\faces\ins_acts.slk"
=========end of vip.prj==============================

Хочу обратить внимание на "#param /linc:C:\Sup5423\exe\vip\source\autoexec.vpp.", где autoexec.vpp - пустой файл. Применение этого параметра позволяет использовать интерфейсы, скомпилированные после окончания даты обслуживания в лицензионном файле, что актуально для "технологической" версии Галактики Экспресс, используемой для проверки функциональности, или подготовки доработок для заказчика.
Все, можно собирать/компилировать проект, вылавливать баги и радоваться жизни.
Еще одно замечание. В новом Атлантисе ужесточились требования к качеству кода, так что иногда простой перекомпиляцией "старых" исходников под Галактику Экспресс, не обойтись, хотя и не смертельно. Но это уже тема другого разговора.

Комментариев нет:

Отправить комментарий