Libraries

Libraries are collections of objects that can be shared in some way, either during development, or at runtime. They are main development objects, so whenever they are saved or exported, all the objects that they contain are included.

Some libraries contain objects that are used during modeling and component construction, such as snippets, IncludeScripts, and modeled properties. After creation, the objects in these libraries are automatically available for use in the Uniface IDE.

Other libraries contain objects that are used in applications at runtime, such as messages, menus, translation tables, and language setups. During deployment, the Uniface archive file(s) (UARs) containing these objects must be deployed on the machines where the application components run. The objects are then available to all components running on a given host or client.

All Uniface libraries are typed according to the type of object they contain, such as snippets, IncludeScripts, menus, or messages.

Note: Message libraries contain all message-related objects. This includes messages, help texts, and the various types of language setups.

Snippet libraries, IncludeScript, and Global ProcScript libraries are created as main development objects in a Project. All other libraries are created using object editors available from the More Editors menu.

Library Names

It is possible for different libraries to have the same name, such as MyLibrary, as long as the type of library is different. At runtime, it is possible to specify a library name and Uniface will look for a requested object in the corresponding typed library. Thus, when you define the default library of an application or component as MyLibrary, at runtime Uniface looks for messages in the MyLibrary Message Library, and menus in the MyLibrary Menu Library.

The default library can be overridden by specifying a different library in ProcScript.

Note: When you create modeled properties, these are automatically saved in a library with the name LIB. It is currently not possible to create modeled properties in a library with another name.

Reserved Library Names

Uniface maintains some libraries for its own use.

  • A library with the name USYS contains objects used by the Uniface IDE, Debugger, and Uniface Server.

    Caution: Do not use the USYS library name for your own objects.

  • A library with the name SYSTEM_LIBRARY is automatically inherited by user-defined libraries. So if you run two Uniface applications on a single machine, the objects in SYSTEM_LIBRARY are available to both. This is useful for deploying generic objects such as translation tables.

Related Topics