InstantBDExpress Frequently Asked Questions

(C) 2005-2023 Ethea

Non-BDE features

Can I remove BDE and continue to use Paradox or DBase Tables with InstantBDExpress?

No; InstantBDExpress uses DBExpress engine to connect to your Database, so you can only use database format supported by a DBExpress Driver. Ethea can help you to migrate your Table data into a SQL Database structure.

Can I use standard dbExpress components with TIBDXDatabase?

Yes; currently, you need to link them at run time to the TSQLConnection descendant provided as TIBDXDatabase.SQLConnection. For example:

SQLDataSet1.SQLConnection := IBDXDatabase1.SQLConnection;

Can I tune or disable the incremental fetching feature?

Since IBDX is ClientDataSet-based, its incremental fetching feature can be tuned through the public PacketRecords property. See the Delphi documentation for details about how to use it.

Can I use InfoPower components (TwwTable and TwwQuery) with InstantBDExpress?

InfoPower components (mainly TwwTable and TwwQuery) are descendants of the BDE components. IBDX does its best to mimic the BDE's public interface, but - in order to support recompiling descendants - also the protected interface must be emulated. Nonetheless, we've been able to successfully convert InfoPower-based applications to InstantBDExpress with no lack of functionality, and ww data-aware controls are happy with IBDX datasets.

Deployment

What do I need to deploy in order for my IBDX application to work?

IBDX applications need the midas.dll suitable for your version of Delphi. This DLL should be installed in the system directory, and should not overwrite any newer versions found there. You can avoid this requirement by including the MidasLib unit in your project.

Also, the file IBDXConnections.ini (which is IBDX's equivalent of the BDE's isapi32.cfg file) must be present in a given path and must contain any alias definitions used by the application. The path in which IBDXConnections.ini is to be found must be written in the Windows Registry, key HKEY_CURRENT_USER\SOFTWARE\IBDXAdmin\ConfigFileName. If you don't want to publish the location of your configuration file in the registry, or wish to have application-specific, private configuration files, you can call IBDXTables.SetCustomConfigFieName at program startup passing the full name of the configuration file to use.

Note that you don't need to deploy the IBDXDrivers.ini file, which is only used by the IBDX Administrator.

Please also note that, in order to support different versions of IBDX on the same machine, the name of IBDXConnections.ini changes to IBDXConnections3.ini for applications created with Delphi 2006, IBDXConnections4.ini for applications created with Delphi 2007 and 2009, and IBDXConnections5.ini for Delphi 2010 to actual.

Am I always required to write the configuration file's location in the Registry?

No; if you don't need the IBDX Administrator, you can deploy the configuration file in a folder of your choice and call IBDXDBTables.SetCustomConfigFieName during your program's startup.