IBObjects (IBO) v5.11.1.2861 Full Source Code with Binary

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.

Version 5.11.1 [Build 2861]

I extensively reworked my TIB_StringList class so that it would be much faster at scanning for values stored in it for property settings, schema cache storage, etc. I embedded within it a dynamic array containing a dictionary indexing method using hash values so that in a single pass the entire stringlist can be searched for key value pairs. This improvement should dramatically increase the efficiency of applications that make heavy use of stringlist based property settings. It should also boost the performance of applications that run against databases that have a large number of tables, fields, etc.

I added support for the Firebird API call fb_cancel_operation. See TIB_Connection.FBCancelOperation() method.

I added file information to TIB_ClientDLL component about the client DLL file loaded and being used to talk to the server.

I fixed an issue with the parsing of Filter clauses so that it handles more complicated expressions.

I fixed an issue where the TIB_Cursor.APIFirst method call didn’t get the NULL status just right in some circumstances.

I fixed an issue having to do with DefaultValues and boolean columns in TIBODataset components.

I fixed an issue having to do with InvalidateBookmark() method in TIBODataset components.

I fixed an issue with the TIB_Grid and cached updates where there was an interger overflow error.

I enhanced the IBF_Browse form to allow filtering out of SEC$ and DS$ prefixes.

I made it so that when the connection’s session is changed to make sure all of the associated transactions are closed up properly.

I had to rework SQLOrderLinks property due to the new TIB_StringList modifications.

I am still working on the DOC engine so there are some changes in that project.

Changes from Magnus: Added HeaderFieldNames property to TIB_Export.

Added TIB_Connection.NextValue() method.

Added PreventStateEditing, PreventStateInserting, PreventStateSearching, PreventStates and OnPreventState properties to TIB_Dataset.