Overview of 'vcomponents' Folder

The vcomponents folder contains Valentina engine DLLs and all other DLLs used by Valentina. It also contains the “vresources” folder, including XML files of error descriptions.

Location on Disk

On default Valentina ADK installers install this folder at the following locations:

  • Windows 32 - /Program Files (x86)/Paradigma Software/vcomponents_win_vc
  • Windows 64 - /Program Files/Paradigma Software/vcomponents_win_vc
  • MAC OS X - /usr/local/lib/vcomponents
  • Linux - /usr/local/lib/vcomponents

Contents of Vcomponents

Inside of the vcomponents folder you can find the following items:

Valentina Engine DLLs

Valentina currently have 4 major DLLs: VShared.dll, VKernel.dll, VReport.dll and VClient.dll. On linux they have extension .so and on Mac .dylib.

  • VShared - this is a small DLL that checks for the others and loads them if they are in the folder. This dll always must present in your applications.
  • VKernel - this is the Valentina DB Engine itself that works with disk database files, does SQL and so on.
  • VReport - added in 4.0. This is Valentina Report Engine. Report engine is based on VKernel features, so if you need reports, you should deploy vkernel.dll also.
  • VClient - this is the Valentina Client Library that establishes a TCP/IP connection to Valentina Server via sockets. Using VClient you can work with all and any features of Valentina Server, i.e. use it as: Valentina DB Server, SQLite Server, Report Server.

'vresources' Folder

In the folder vcomponents/vresources you will find, on default, the folder “en” that contains 2 XML files. These XML files contain lists of Valentina error codes and descriptions.

These XML files are very important as they are put to the following uses:

  • Valentina engines load these XML files on start up, in order to extract strings of error descriptions and fill the internal arrays.
  • You can read these XML files as an up-to-date documentation of Valentina error codes. It is better to use some XML editor/viewer to read these files.
  • You can translate or modify these XML files to different languages and drop translated files into the folder vresources/Language. This provides an easy way to localize error codes of Valentina.
  • Paradigma Software uses these XML files to generate the C++ sources with error codes.

IBM ICU Library

The ICU library folder contains the following DLLs:

  • icudt30.dll
  • icudt30.dll
  • icudt30.dll
  • icudt30.dll

Also part of ICU is the “icudt30.dat” file. On default, it is quite big (about 8 MB). This file contains information about all locales of the world. It is possible to reduce this file to 3.5 MB if removing not needed Locales. See documentation of IBM ICU library for details.

NOTE: Starting with Valentina 3.0 on MAC OS X we using ICU from OS X, so vcomponents folder do not contains ICU.

Runtime Support Components

Some compilers, e.g. MS Visual C++ require special runtime DLLs. This is why, for example on Windows, you can see two small Microsoft CRT DLLs. They also should present in your app deployment.

Deployment of vcomponents

Please read carefully section Manual:Deployment of your specific ADK about how you should move items of vcomponents into your application when preparing it for deployment.

On default you can deploy vcomponents folder as is. But if you care about size of release app, you may do additional efforts to remove optional items of vcomponents folder.

LOCAL ONLY Application

  • If you want application to work only with local Valentina databases or local reports without need to connect to remote Valentina Server THEN you can skip VClient.dll
  • If you are not going to use Valentina Reports then you can skip also VReport.dll

CLIENT ONLY Application

In this case only VClient + VShared DLLs can be used. All the rest dlls as VKernel, VReport, ICU will not be used, so you can skip them.