Creation of the Pzl-Container: различия между версиями

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

м
м
Строка 7: Строка 7:
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.
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, 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.
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.
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 =
Форма для создания pzl-Контейнера вызывается через меню '''''File/New.../Container'''''.  
The form to perform the operation is invoked via the menu item '''''File/New.../Container'''''.  


[[Изображение:PzlNewContainerCreation.png]]
[[Image:PzlNewContainerCreation.png]]


Перечень свойств в вызванной форме включает
The list of featuresin the form is
*[[#Базовая Директория Контейнеров|Containers Root Directory]] - Базовая директория Ваших Контейнеров
*[[# Containers Root Directory |Containers Root Directory]]
*[[#Директория pzl-Контейнера|Containers SubDirectory]] - Маршрут к поддиректории, в которой будет создан проект контейнера.
*[[# Containers SubDirectory |Containers SubDirectory]]  
*[[#Имя Pzl-Контейнера|Container Name]] - Имя создаваемого Контейнера (это будет имя проекта .prj6)
*[[# Container Name |Container Name]]
*[[#Уровень лицензии|License Level]] - уровень лицензии
*[[# License Level|License Level]]
*[[#Библиотека Pzl-Контейнера|Container Library]] - имя библиотеки
*[[# Container Library|Container Library]]
*[[#Версия Pzl-Контейнера|Container Version]] - версия контейнера
*[[# Container Version|Container Version]]
*[[#Атрибуты из базовых свойств|Company]] - имя компании
*[[#Attributes from Base Options|Company]]
*[[#Атрибуты из базовых свойств|Author]] - имя автора
*[[# Attributes from Base Options|Author]]
*[[#Атрибуты из базовых свойств|Copyright]] - авторские права
*[[# Attributes from Base Options|Copyright]]


Редактирование значений свойств производится в правой части таблицы либо непосредственным редактированием (если допускается), либо вызовом следующего уровня редактирования нажатием на кнопку справа в активной строке. Двойной щелчек на поле редактирования равносилен нажатию на кнопу справа.
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.


Операция выполняется по нажатию на кнопку '''Create (Создать)'''.
The operation is performed by clicking the button '''Create''.


Кнопка может быть неактивной, если введенных данных недостаточно для выполнения операции.  
The button may be inactive if there is not enough data entered.


После выполнения операции форма остается активной и Вы можете продолжить создание pzl-Контейнеров.
After the operation completion you may create any other pzl-container.


Кнопка '''Close (Закрыть)''' закрывает форму.
The button '''Close''' closes the form.


=Выполнение операции=
=Performing the Operation =


При успешном выполнении операции в окно сообщений среды Elementary PzlStudio выводится отчет о произведенных изменениях проекте.
While the performing the operation the Message Window gets the report regarding the changes made in the project.


[[Изображение:PzlStudio_ContainerCreatedMsg.png]]
[[Image:PzlStudio_ContainerCreatedMsg.png]]


Созданный таким образом Dll-Контейнер можно теперь открыть с помощью IDE и откомпилировать.
The newly created the dll-container may be opened now by the IDE and you may build it.


В проектном окне IDE пустой Dll-Контейнер, не содержащий pzl-Компонент, выглядит так
The empty dll-container will look in the IDE like


[[Изображение:PzlStudio EmptyContainerProjectView.png]]
[[Image:PzlStudio EmptyContainerProjectView.png]]


=Параметры для создания Dll-Контейнера=
=Properties of the DLL-container =


==Базовая Директория Контейнеров==
== Containers Root Directory ==
Собственно, это имя директории, установленной в [[Установка Базовых Свойств#User PzlConteiners Location|Базовых Свойствах]]. Если в Ваших намерениях по организации директорий ничего не изменилось, можно ничего здесь не менять.  
This is the name of the directory, which was set in the [[Setting Base Options #User PzlConteiners Location|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


Двойной щелчек или нажатие на кнопку вызовут файловый диалог для выбора имени директории. Вы можете в Файловом диалоге установить и новое, не существующее имя директории. Elementary PzlStudio создаст ее, если это возможно.
If you have changed the Containers Root Directory compare to what was set in the [[Setting Base Options #User PzlConteiners Location|base options]], then when the form will be closed you will get the question whether you wish to make changes in the Basic Options.


Если Вы изменили имя базовой директории контейнеров относительно того, что установлено в [[Установка Базовых Свойств#User PzlConteiners Location|Базовых Свойствах]], то при закрытии формы будет задан вопрос о внесении изменения в Базовые Свойства.
[[Image:PzlChangeBaseContainersDirectory.png]]


[[Изображение:PzlChangeBaseContainersDirectory.png]]
If you agree, then the new value will be used each time, when it participates in any operation.


Если Вы согласитесь, то Вам будет теперь предлагаться в качестве значения по умолчанию это последнее имя базовой директории контейнеров.
== Containers SubDirectory ==
 
==Директория Dll-Контейнера==
Директория Dll-Контейнера - это именно та директория, в которую будут помещены все файлы контейнера.
Директория Dll-Контейнера - это именно та директория, в которую будут помещены все файлы контейнера.


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


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


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


Строка 111: Строка 109:
[[Изображение:PzlContainerLicenseLevelErrorDlg.png]]
[[Изображение:PzlContainerLicenseLevelErrorDlg.png]]


==Библиотека Dll-Контейнера==
== Container Library ==
Это поле не редактируется и является справочным. Отражает имя библиотеки pzlContainer_X.lib, соответствующее уровню [[#Уровень лицензии|лицензии]] главного приложения.
Это поле не редактируется и является справочным. Отражает имя библиотеки pzlContainer_X.lib, соответствующее уровню [[#Уровень лицензии|лицензии]] главного приложения.


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


Строка 128: Строка 126:
</vip>
</vip>


==Атрибуты из базовых свойств==
== Attributes from Base Options ==
Последние три позиции в форме
Последние три позиции в форме
*Company
*Company

Версия 15:11, 4 февраля 2008

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

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 featuresin 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