Registering the pzl-Component

From wiki.visual-prolog.com

Written by Victor Yukhtenko. Email: victor@pdc.spb.su

Each pzl-component must be registered at least in one of the registries:

  • in the local user's file. Each application may have it's own component registration file
  • in the windows registry in the folder HKEY_CURRENT_USER
  • in the windows registry in the folder HKEY_LOCAL_MACHINE
  • in the main executable application

If some pzl-component is registered in more then one places, then the actual place of the registration used by the Pzl-system will be the nearest place moving top to down in the list above. Thus it is possible the overlapping of the multiple registered components.

Say, if some component is registered in the local user’s file and the same time it is registered in the Windows registry HKEY_CURRENT_USER, then actually the component registered in the local user’s file will be used.

Invoking the Operation

All operations concerned with the registration of the pzl-components in the Windows registry and in the user’s component registration file may be performed by the form invoked via menu item Tools/Register Components.

PzlStudio RegistrationForm Overview.png

In the form:

PzlContainer File – is the file of the pzl-container (it is not the project file but it is the compiled and built DLL) with the extension .PZL.
PzlRegistry File – is the component registration user’s file with the extension .PZR.

The area in the form represented by the fragment,

PzlStudio RegisterComponents ViewPair.png

creates the phrase

View The Content Of <What> at Target <Where>

and this phrase gives the possibility to combine the query to get the registration information:

  • at the left side – which entity’s content to show:
    • Container – to show the content of the pzl-container
    • Registry – to show the content of the registry
  • at the right side – which type of the registry to show:
    • PzlRegistry File – the user’s component registry file, which is set in the field PzlRegistry File of the form. The item PzlRegistry File appears in the list if the component registry file is set in the field PzlRegistry File
    • Current User – Windows registry HKEY_CURRENT_USER
    • Local Computer – Windows registry HKEY_LOCAL_MACHINE

A set of combinations helps to choose the area of the visibility of the operation and the area of the usability of the operation.

For instance

  • Setting the <Container> <Current User> gives the information regarding the registration of components of the pzl-container, which is set in the field PzlContainer File in the Windows registry HKEY_CURRENT_USER.
  • Setting the <Registry> <Current User> gives the information regarding all pzl-components registered in the Windows registry HKEY_CURRENT_USER.

The area of the form

PzlStudio RegisterComponents ComponentList.png

represents the list of the pzl-components from the area of the visibility described above. Components are represented in the list by their Aliases.

The areas of the form

PzlStudio RegisterComponents ComponentStatus.png and PzlStudio RegisterComponents ComponentStatus2.png

represent the status of the registration of the single component (component ID, the name of the pzl-container, the possibility of the independent Run) or the status of the group of pzl-components, selected in the list at the right.

The further actions are defined by the operation to be performed.

Performing the Operations

View the status of the components registration and their deregistering

To see the content of the component registry it needs just to set the registry type

PzlStudio RegistryDataSelector.png

If you need to look at the content of the registration file, then you should set PzlRegistration File.

At the left there must be set the value "Registry" and at the right – the place of the registration.

Then the list of registered component names will be shown and at the right you will see the status of the registration of the group of the components

PzlStudio RegistryView ComponentsGroupUnselected.png

or the status of the single component

PzlStudio RegistryView ComponentSelected.png

Using registration-related buttons it is possible to deregister selected components

  • individually or as the selected group and using the button Unregister Selected
  • all components by pressing Unregister All

in the considered registry. In the Message Window you will see the report

PzlStudio RegistryView ComponentsUnselected.png

View the status of the components of the pzl-container and their registration

To see the status if the components of the concrete pzl-container you should set the file name of the container at PzlContainer File and set the target of the view

Show The Content Of <Container> At Target <Registry Type >

Now you will see the list of all components of the chosen container and you will see also the status of the registration of the selected component in the given registry

PzlStudio ContainerView ComponentsUnselected.png

As an example for the selected component it will be shown

PzlStudio ContainerView ComponentSelected.png

Now using buttons related to the registration you may register or deregister the component at the given place:

  • Register All – register all components of the pzl-container
  • Register Selected – register selected components
  • Unregister All – deregister all components of the pzl-container in the given place
  • Unregister Selected – deregister selected components of the given pzl-container at the given place

The Message Window will show the report concerning with the performed operation.

References