Switch to: V11V10V9V8V7V6V5

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 - /Program Files/Paradigma Software/vcomponents_win_vc
  • MAC OS X - /usr/local/lib/vcomponents
  • MAC OS X (PEF builds) - /Library/CFMSupport

Contents of Vcomponents

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

Valentina Engine Components

Valentina engine includes 3 DLLs: VShared.dll, VKernel.dll and VClient.dll.

  • VShared - this is a small DLL that checks for the other two and loads them if they are in the folder. If only one of them is present then only one is loaded. In this case you can only work with a local or only with a remote Valentina database.
  • VKernel - this is the Valentina engine itself that work with disk database files, does SQL and so on.
  • VClient - this is the Valentina Client library that establishes a TCP/IP connection to Valentina Server via socket.
  • VReport - starting with Valentina 4.0 vcomponents folder also contains this DLL, which provides runtime features of Valentina Reports.

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

MacOS (PPC) DLLs may have the letter 'b' in their names, which means Big Endian. Windows and MacOS (Intel) DLLs may have the letter 'l' in their names - Little Endian.

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 it uses ICU from OS X itself. So vcomponents folder on MAC OS X 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 folder Microsoft.VC80.CRT inside of vcomponents. It also will present in your deployment.

Deployment of vcomponents

Please read carefully for your ADK section Manual:Deployment about how you need install items of vcomponents into your application when prepare 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

  • So you want that your application can work only with local databases and no need connect to remote Valentina Server. In this case you can skip VClient.dll
  • If you do not need convert from Valentina 1.x format then you can skip
    • on MAC OS X - VSDK.framework
    • on Windows - VDK_VC.dll
  • if you not going to use Valentina Reports then you can skip also VReport.dll

CLIENT ONLY Application

In this case plays only VClient + Vshared DLLs. All rest dlls as VKernel, VReport, VSDK, ICU will not be used, so you can skip them. This allow you develop client-only Valentina application which are quite small by size.