IBX for Lazarus is derived from the Open Source edition of IBX published by Borland/Inprise in 2000 under the InterBase Public License. In 2011, the Open Source edition of IBX was brought up-to-date by MWA Software and focused on the Firebird Database API for both Linux and Windows platforms (32 and 64-bit), and has since been further developed. It is released under the InterBase Public License for the original code and under the compatible Initial Developers Public License for new software. The Firebird Relational Database Management System can be downloaded from http://www.firebirdsql.org. Version 2 (IBX2) provides full support for both the legacy Firebird API and the new Firebird 3 API.
The IBX source code can be viewed and downloaded using subversion (including the latest fixes), or downloaded using the following links:
In addition to the original set of IBX Data Access Components, IBX2 provides:
Full support for both the Firebird 3 API and the legacy Firebird API.
Support for Firebird Arrays including a new Data Aware control derived from a TCustomStringGrid.
Support for embedded SQL statement execution.
A set of extended Data Aware Controls (IB Controls)
Local Database Support (Embedded Database Server)
IBX2 requires a minimum of FPC 3.0.0 and Lazarus 1.6.0. A blog on what went in to creating IBX2 is available here.
The original IBX code has been split into two packages: the main IBX package which provides the non-visual components, and a new fbintf package (see separate article). The fbintf package provides a common interface for the Firebird 3 API and the legacy Firebird API and is the means by which embedded SQL statement execution is supported. The fbintf package may also be used on its own and has the potential to provide a common Firebird API to all FPC database applications.
IBX2 includes much improved documentation. There is a 114 page user guide for IBX itself and a 91 page user guide to the Firebird Pascal API provide by the fbintf package. There are also 15 example programs included in the package.
IBX2 is intended to be backwards compatible and most user applications should re-compile with no issues. However, there are differences and the user guide includes a section on upgrading to IBX2.