Creation of the Pzl-Container

Материал из wikiru.visual-prolog.com

Автор: Виктор Юхтенко

The pzl-container is the place, where pzl-components are stored. In that sense the main application and the DLL are pzl-containers.

The pzl-technology supposes that the main executable application gets the features of the pzl-container, when it gets the features of the pzl-Port. Thus performing the operation of adding the pzlPort to the executable application, we create the pzl-container of the executable application.

That is why the Elementary PzlStudio has no operations to create the pzl-container at the main executable application. The operation creation of the pzl-container means the creation of the DLL, which is the pzl-container.

It is possible to create the project, which corresponds to the dll-container, may be created manually using the IDE. This is not recommended because of it needs the knowledge of the details of the pzl-container structure. Instead the Elementary PzlStudio proposes the very easy operation to create such a project.

After invoking the operation it needs to fill the form with the basic features of the pzl-container and by one clicking the button you get the pzl-container. This container you must open using the Visual Prolog IDE and build it.

Invoking the Operation

The form to perform the operation is invoked via the menu item File/New.../Container.

PzlNewContainerCreation.png

The list of features in the form is

The editing of the option is performed in the right side of the table. The Editing supposed to be done by the explicit editing or it may be done by the pressing the button on the right side of the active field. Double clicking makes the same as pressing the button.

The operation is performed by clicking the button Create.

The button may be inactive if there is not enough data entered.

After the operation completion you may create any other pzl-container.

The button Close closes the form.

Performing the Operation

While the performing the operation the Message Window gets the report regarding the changes made in the project.

PzlStudio ContainerCreatedMsg.png

The newly created the dll-container may be opened now by the IDE and you may build it.

The empty dll-container will look in the IDE like

PzlStudio EmptyContainerProjectView.png

Properties of the DLL-container

Containers Root Directory

This is the name of the directory, which was set in the Basic Options. If you have no reasons to change the directories organization, then you may leave this property with no changes.


You may change the Containers Root Directory. Just make a double click or press the button at the right side. This will invoke the file dialog to choose the name of the directory. If you set the name of the directory, which doesn’t exist, then Elementary PzlStudio will create it, if possible

If you have changed the Containers Root Directory compare to what was set in the base options, then when the form will be closed you will get the question whether you wish to make changes in the Basic Options.

PzlChangeBaseContainersDirectory.png

If you agree, then the new value will be used each time, when it participates in any operation.

Containers SubDirectory

Директория Dll-Контейнера - это именно та директория, в которую будут помещены все файлы контейнера.

Директорию Dll-Контейнера следует рассматривать как маршрут (например, в форме Дир1/Дир2/Дир3 или просто Дир1), который в совокупности с Базовой директорией контейнеров даст окончательный маршрут к директории, где будут создаваться файлы контейнера.

Поле Директория Dll-Контейнера не может быть пустым.

Если директория, маршрут который создается в совокупности с Базовой директорией контейнеров не существует, то она будет создана без предупреждения.

Если Директория Dll-Контейнера по каким-либо причинам не может быть создана, то появится диалог с сообщением об ошибке.


Обращаем внимание на то, что имя конечной директории Dll-Контейнера и имя контейнера (проекта) могут различаться, хотя первоначально они будет предложены одинаковыми. Это несколько отличается от правила, действующего в IDE системы Visual Prolog. Там, задав имя проекту, Вы однозначно определяете и имя директории, в которую будут сгенерированы файлы проекта.

Container Name

Имя контейнера определяет имя файла проекта <Имя Контейнера>.prj6. Должно быть не менее 8 символов.

License Level

Pzl-Система использует принцип лицензирования.

Лицензии различаются по уровням:

  • Public - публичная
  • Commercial - коммерческая
  • Exclusive - эксклюзивная (исключительная)
  • SuperExclusive

Уровень лицензии устанавливается:

  • для главного приложения - библиотекой pzlPort_X.lib
  • для pzl-Контейнера - библиотекой pzlContainer_X.lib

где X - идентификатор уровня лицензии.

Dll-Контейнер не может иметь уровень SuperExclusive. Этот уровень может иметь только PzlPort, причем, созданный компанией-разработчиком Pzl-Технологии.

Соответствие уровня лицензии и идентификатора библиотеки приведено ниже:

  • Public - pzlContainer_P.lib
  • Commercial - pzlContainer_C.lib
  • Exclusive - pzlContainer_EX.lib (X - персонифицирующий идентификатор)

Поэтому при создании нового контейнера Вы должны установить уровень лицензии, которым должно обладать Ваш контейнер. Выбор уровня лицензии однозначно определяет выбор имени pzl-библиотеки, которая будет включена в проект. В случае, если выбирается уровень лицензии Exclusive, то этому уровню может соответствовать множество библиотек уровня Exclusive.

PzlStudio предлагает значение по умолчанию - Public, которому соответствует библиотека pzlContainer_P.lib.

При выборе уровня лицензии, Elemantary PzlStudio автоматически установливает имя библиотеки в поле Container Library (это поле не редактируется, а является справочным). Если выбирается уровень лицензии Exclusive, то Вам предлагается файловый диалог со списком имеющихся в Вашем распоряжении библиотек. Вы должны выбрать одну из библиотек, относящися к библиотекам уровня Exclusive. Если выбрана библиотека, не относящаяся к уровню Exclusive, то появляется сообщение

PzlContainerLicenseLevelErrorDlg.png

Container Library

Это поле не редактируется и является справочным. Отражает имя библиотеки pzlContainer_X.lib, соответствующее уровню лицензии главного приложения.

Container Version

Версия Pzl-Конейнера является строкой, контролируемой только пользователем. Все, что делает Elementary PzlStudio с этой информацией - помещает ее в качестве значения константы pzlContainerVersion_C в файле PzlConfig.i после его создания.

interface iPzlConfig
constants
    pzlContainerVersion_C="1.0;001".
 
 % Container Configuration
constants
 
end interface iPzlConfig

Attributes from Base Options

Последние три позиции в форме

  • Company
  • Author
  • Copyright

устанавливаются в Базовых свойствах и здесь могут быть переопределены в случае, отличном от типового. Если Вы их здесь изменили, то значения этих параметров в Базовых свойствах не изменяются.

References