IB Objects (IBO) v5.12.2 Build 3054 Source Code

IB Objects (IBO) v5.12.2 Build 3054 Source Code

IB Objects (IBO) v5.12.2 Build 3054 Source Code
IB Objects (IBO) v5.12.2 Build 3054 Source Code


IB Objects is the most powerful toolbox available for developing client and service applications for InterBase/Firebird in Delphi and Borland C++Builder without the BDE, ODBC or any other middleware. IB Objects provides more than 80 components for use with 32bit Delphi and C++Builder. The "native IBO" classes require only a Desktop Developer edition. Professional editions of these products are required only if you need to develop with the TDataset-compatible classes.

What about other component suites?
Other component suites can provide direct-to-API connectivity but they do so at the cost of developer control over the logical aspects of transaction-based data processing. They are bitten by the hand that feeds them. In order to implement access to the physical capabilities of the transaction engine while remaining locked into the memory dependency of the VCL's TDataset, they sacrifice the considerable benefits the BDE provided in the way of task management.

Why choose IB Objects?
From the start IBO freed itself from the restrictions of TDataset and its limiting, local database oriented memory model. From the primitive level of TComponent forward, its classes are built on a foundation dedicated solely to how an object interface needs to interact with InterBase/Firebird with greatest effect and efficiency. Along the way, IBO has succeeded in emulating and improving on the logical task environment provided by the BDE to the degree that a developer can choose to be unconcerned with the physical transaction altogether.

Change Log:

11/1/2021 Version 5.12.2 [Build 3054]

I added support for Delphi/C++ Builder 11.0 Alexandria.
I added support for Firebird 4.x, but it is not entirely completed yet. I do not have a way to handle the 128-bit integers yet. Those making use of them will need to operate upon the raw bytes using whatever way they determine. Suggestions on what library to use, that I can include in IBO without violating a licence policy, would be appreciated.
NOTE: I am developing EDO (Enterprise Data Objects) as the next generation of IBO so there isn't as much of my effort going into developing the IBO code base, other than maintenance releases and bug fixes. If anyone would like to participate in the development and testing of EDO, it is getting ready for some basic level use. This library allows for the adoption of other back-end databases by writing a driver layer to any other database API. If anyone is interested in an IBO-like solution to use with other database backends, please reach out and let me know if you would like to collaborate on that as well.
Found a method parameter that was declared as longint, but it is used at times to carry a pointer reference. I changed it to pointerint so that it will work properly in 64-bit mode.
Fixed a bug that surfaced in the TIBODataset MasterDetail sample app. When closing and opening a master dataset the child detail datasets were not being refreshed.
I enhanced calculated fields functionality.
I improved KeyDescLinks behavior to handle variant data better.
I fixed an issue with BOOLEAN columns in InterBase XE3 so that it would handle default values. I also improved the TIBODataset class to recognize the BOOLEAN type for it.
I fixed the TIB_DataPump so that it would handle DIRECT binding more effectively. I added AllowDirectBinding property.
I fixed a problem with horizontal dataset refinement. Under some circumstances the cursors were not being reset properly.
I merged in a fix for TIBORestoreService from Ben Malings.
Added ClientLibFilename property to the IB_SQL and IB_Doc apps so that the client DLL can be directly provided in the apps.
Fixed an issue with CachedUpdates and deletes.
Fixed a bug in TIB_StringList.IndexOfObject. Improved hashing routine to avoid range violation.
Fixed an issue where CHAR input parameters that are duplicate names weren't behaving just right.
Fixed an issue where duplicate parameters were causing an issue with the formation of the EditSQL text when relying on IBO to automatically form them.
Improved the generation of SQL statements for edits, inserts, and deletes to deal with columns that are reserved tokens.
Added missing options (Expand, NoTriggers, SkipData) for TIBOBackupService component. (isc_spb_bkp_skip_data, isc_spb_bkp_no_triggers)
Made an improvement to make IBO more robust when working with the TIBODataset.InternalDataset mechanism.