Skip to content
Carlo Barazzetta edited this page Dec 6, 2018 · 8 revisions

Installing InstantObjects

Simple installation for standard Brokers

If you want a quick installation process to evaluate InstantObjects, you can use the two "group project" files located into the folder for your Delphi version under \Source\PackageGroups folder.

For every Delphi version you can find two files.

Form example, for Delphi 10.3 Rio look into: \Source\PackageGroups\D10_3

  • RunTimePackages to Build all of the "standard" run-time packages.

    • Open it and "BuildAll" projects.
  • DesignTimePackages to Build/Install all of the "standard" design-time packages.

    • Open it and "Install" each package included.

"Standard" packages means that you can compile it with components included in a standard Delphi installation. If you want to know how to install other brokers to use third party data access components and technologies, please refer to the section for custom installation.

For example RunTimePackages.bpg for Delphi 10_3 contains:

IOCore.dpk: InstantObjects Core Package
IOIBFbCatalog.dpk: Catalog for Interbase/Firebird
IOMSSqlCatalog.dpk: Catalog for MS-SQL 
IOMySQLCatalog.dpk: Catalog for MySQL
IOADO.dpk: ADO Broker
IODBX.dpk: DBExpress Broker
IOIBX.dpk: IBX Broker
IOXML.dpk: XML Broker
IOFireDAC.dpk: FireDAC Broker

For example DesignTimePackages.bpg for Delphi 10_3 contains:

dclIOCore.dpk: InstantObjects Core Package
dclIOIBFbCatalog.dpk: Catalog for Interbase/Firebird
dclIOMSSqlCatalog.dpk: Catalog for MS-SQL 
dclIOMySQLCatalog.dpk: Catalog for MySQL
dclIOADO.dpk: ADO Broker
dclIODBX.dpk: DBExpress Broker
dclIOIBX.dpk: IBX Broker
dclIOXML.dpk: XML Broker
dclIOFireDAC.dpk: FireDAC Broker

Environment library path

Demos can compile InstantObjects units because they have relative search path into project, like:

..\..\Source\Core;
..\..\Source\Brokers\ADO;
..\..\Source\Brokers\BDE;
..\..\Source\Brokers\DBX;
..\..\Source\Brokers\IBX;
..\..\Source\Brokers\XML;
..\..\Source\Catalogs\IBFb;
..\..\Source\Catalogs\MSSql;
..\..\Source\Catalogs\MySql;

If you wan to compile your projects, remember to add search path to your Delphi Environment settings:

<installdir>\Source\Core
<installdir>\Source\Brokers\<brokername>

When you are familiar with the packages and source structure of InstantObjects you can setup and maintain your own personalised bpg files to include only packages you want use, editing those complete project groups.

Note that you need to include Brokers path only for the data-access technology you want to use.

Custom installation for selected Brokers

If you want to install only specific brokers into IDE, you can compile and install only some packages.

First, build and install the InstantObjects core packages:

<installdir>\Source\Core\<version>\IOCore.dpk (build)
<installdir>\Source\Design\<version>\DclIOCore.dpk (install)

Where identifies your version of Delphi, for examples: DXE7, D10_3, etc.

Then select the Brokers you want to use: if you are going to use a broker that needs a separate catalog (currently the IBX, DBX, ADO and FireDAC brokers), then you'll also need to install the package of required catalog.

Here is a table of current broker-catalog dependencies:

Broker Depends on Catalog
IBX IBFb
DBX IBFb, MSSql, MySQL
ADO MSSql
FireDAC IBFb, MSSql, MySQL

Other brokers have their catalogs integrated into themselves, so there are not dependency issues for them.

Build and install the desired catalog and broker package(s):

For example, if you need the ADO broker:

<installdir>\Source\Catalogs\MSSql\<version>\IOMSSqlCatalog.dpk (build)
<installdir>\Source\Brokers\ADO\<version>\IOADO.dpk (build)
<installdir>\Source\Brokers\ADO\<version>\DclIOADO.dpk (install)

If you need a broker that doesn't depend on a catalog, just build and install the broker's packages. Here's an example for the XML broker:

<installdir>\Source\Brokers\XML\<version>\IOXML.dpk (build)
<installdir>\Source\Brokers\XML\<version>\DclIOXML.dpk (install)

Please note that not all brokers are available and maintained in all versions of Delphi. If you think you can make a supplied broker work in an unsupported version, or create a new broker from scratch then look at the other broker implementation.

Clone this wiki locally