Switch to: V12V11V10V9V8V7V6V5

Valentina ADKs

ADK Components

Application Developer Kit is a toolkit (aka SDK or ADK) that allows you to develop application(s) with all or any of these components:

  • Valentina Database Engine - to work with local Valentina databases in the single user mode.
  • Valentina Reports Engine – to work with local Valentina Project with reports. Note, that local are reports and vreport.dll. But the datasource for a report can be a connection to remote DB server.
  • Valentina Client - to access remotely a Valentina Server, which manages databases and/or reports in a multi-user mode.

Paradigma Software ships many ADKs for the most popular programming languages and IDEs. To plug a Valentina component DLL into this IDEs a plugin which also is a part of ADK is used.

ADK Plugin

A Valentina component itself is developed in C++. Most Rapid-Application-Development (RAD) IDEs and programming languages provide some plugin system to allow access to third party C/C++ libraries.

Usually it should have at least one C function in the plugin to call one function in the C++ library. This plugin's function gets parameters, transforms them into C++ library parameters, call C++ library, gets result back if needed and transforms it into the format that IDE understands. As a result, a user/developer in that IDE gets set of functions or even OO classes for use.

Having this, it is easy to see that each Valentina ADK contains:

  • vcomponents folder with few Valentina Components shared libraries (DLL for Windows, DYLIB for OS X, .sp for Linux).
  • PLUGIN, which calls that vcomponents libraries.

ADK Getting Started

  • Installation - To start work with Valentina ADK, you should download and install it. In the HOME/Paradigma Software folder you will find installed ADK folder with plugin, Examples and may be other files. You should install plugin manually into your IDE/language. Read the details about installation of particular ADK in its sections.
  • Examples - Most ADKs have a simple tutorial and set of 40-60 examples described in Example Guide. The examples tend to be as simple as possible and demonstrate a specific feature of ADK.
  • API Reference - You should learn API of your ADK. In the WIKI we provide section with general API Reference. For some ADKs you can find PDF of API Reference.

ADK Documentation Entry Points

The following table allows you to do a fast jump into major sections of a particular Valentina ADK:

Valentina for Cocoa Docs FAQs
Valentina for C++ Docs FAQs
Valentina for COM Docs FAQs
Valentina for Director Docs FAQs
Valentina for Java Docs FAQs
Valentina for .NET Docs FAQs
Valentina for ODBC Docs FAQs
Valentina for PHP Docs FAQs
Valentina for Xojo Docs FAQs
Valentina for LiveCode Docs FAQs
Valentina for Ruby Docs FAQs

DB ADK & Reports ADK

Please note, that Paradigma Software, starting from v5.0, markets two kinds of Valentina ADKs in the Paradigma Store:

  • Valentina DB ADK
  • Valentina Reports ADK

We have extracted Report ADK into a separate product, because in v5.0 of Valentina Reports the ability to use other databases as a datasource was added. And we realize that a user of PostgreSQL database should not pay for Valentina DB engine if he needs Valentina Reports engine only.

In the same time, technically this is still the same ADK archive in the download section. So if you want to develop reports with e.g. PostgreSQL using REALbasic, you should download “Valentina for REALbasic” ADK and install it. Using the same archive of a Valentina ADK you can develop different kinds of applications:

  • APP with LOCAL Valentina DB uses - { vshared.dll + vkernel.dll + V4RB plugin }
  • APP with LOCAL REPORTS uses - { vshared.dll + vkernel.dll + vreport.dll + V4RB plugin }
  • APP with CLIENT to VSERVER uses - { vshared.dll + vclient.dll + V4RB plugin } and can work with both DB and REPORTs on that VSERVER.

Of course you can develop an application, which combines all above, i.e. is able to work with few local Valentina databases, few Valentina Servers, open local or remote Valentina Projects and generate reports using different data sources.