IBObjects (IBO) v5.12.1.2967 Source Code with Binary
IBObjects (IBO) v5.12.1.2967 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.
Change Log:
June 10, 2020 Version 5.12.1 [Build 2967]
I added support for Delphi/C++ Builder 10.4 Sydney.
I added support for InterBase SQLDA Version 2 structure now required for latest versions of InterBase. Some special attention will need to be given to the component event handlers for generating custom TIB_Column object instances as well as the custom event handlers for dealing with BLOB contents. Additional events with the suffix of 2 were added to accommodate the SQLDA Version 2 data structures.
Completely rewrote the event alerters component TIB_Events and enhanced it considerably. I figured out some areas of weakness in the IB/FB client and put in some timing buffers to avoid multi-threading issues. This should enable apps using events to avoid getting destabilized when the bugs in the client DLL are tripped up. I also put in a Windows messaging mechanism so that the main thread would instantly synchronize and process the event alerters. This led to the creation of a new unit called IB_ThreadUtils where I wrote a message queue system for the event alerter to work more efficiently. This will also be the beginning of additional utilities to help with thread management.
Added a property to TIB_Connection (TIBODatabase) called KeepAliveInterval. This keeps track of how long it has been since the server was communicated with and it makes sure the connection remains valid by checking the status of the connection according to the interval indicated. The default value is 600 seconds.
Adjusted for FPC support of Indy 10. FPC is currently unstable. Working on why.
Made source base able to be compiled using typed @ operators.
Moved away from using AnsiChar in low level API buffers. Changed over to Byte.
More work on the Doc engine and the Web engine. Still work in progress.
Worked a bit on the XSQL Reports package. Wanting to get it integrated. Not done yet.
I reworked the Service Application testing form to be more flexible.
Fixed a bug having to do with JoinLinks usage. It was causing the query to go blank under certain ccircumstances.
Fixed a bug in TIBODataset where when the dataset opened and closed it wasn't causing the child datasets to be notified everytime so that they could update the values of their input parameters and react appropriately.
Fixed some issues with CachedUpdates when used with master-detail and inserted records
Fixed an issue with TIBOTable not finding intexes for optimization accurately.
Fixed an issue with TIB_DataPump so that it handles NULL values and column nullability properly.
Fixed TIB_BDataset.ExecSQL to provide output values correctly in the Fields values.
Fixed a bug in TIB_StringList that was specific to Delphi 5 only. Had to do with the Insert() method. I also added an event notifier for the OnActuallyChanged notification.
Added CurrentNo property to the TIB_Script component.
Adjusted IB_Session to free all TIB_Session instances upon unit finalization.
June 10, 2020 Version 5.12.1 [Build 2967]
I added support for Delphi/C++ Builder 10.4 Sydney.
I added support for InterBase SQLDA Version 2 structure now required for latest versions of InterBase. Some special attention will need to be given to the component event handlers for generating custom TIB_Column object instances as well as the custom event handlers for dealing with BLOB contents. Additional events with the suffix of 2 were added to accommodate the SQLDA Version 2 data structures.
Completely rewrote the event alerters component TIB_Events and enhanced it considerably. I figured out some areas of weakness in the IB/FB client and put in some timing buffers to avoid multi-threading issues. This should enable apps using events to avoid getting destabilized when the bugs in the client DLL are tripped up. I also put in a Windows messaging mechanism so that the main thread would instantly synchronize and process the event alerters. This led to the creation of a new unit called IB_ThreadUtils where I wrote a message queue system for the event alerter to work more efficiently. This will also be the beginning of additional utilities to help with thread management.
Added a property to TIB_Connection (TIBODatabase) called KeepAliveInterval. This keeps track of how long it has been since the server was communicated with and it makes sure the connection remains valid by checking the status of the connection according to the interval indicated. The default value is 600 seconds.
Adjusted for FPC support of Indy 10. FPC is currently unstable. Working on why.
Made source base able to be compiled using typed @ operators.
Moved away from using AnsiChar in low level API buffers. Changed over to Byte.
More work on the Doc engine and the Web engine. Still work in progress.
Worked a bit on the XSQL Reports package. Wanting to get it integrated. Not done yet.
I reworked the Service Application testing form to be more flexible.
Fixed a bug having to do with JoinLinks usage. It was causing the query to go blank under certain ccircumstances.
Fixed a bug in TIBODataset where when the dataset opened and closed it wasn't causing the child datasets to be notified everytime so that they could update the values of their input parameters and react appropriately.
Fixed some issues with CachedUpdates when used with master-detail and inserted records
Fixed an issue with TIBOTable not finding intexes for optimization accurately.
Fixed an issue with TIB_DataPump so that it handles NULL values and column nullability properly.
Fixed TIB_BDataset.ExecSQL to provide output values correctly in the Fields values.
Fixed a bug in TIB_StringList that was specific to Delphi 5 only. Had to do with the Insert() method. I also added an event notifier for the OnActuallyChanged notification.
Added CurrentNo property to the TIB_Script component.
Adjusted IB_Session to free all TIB_Session instances upon unit finalization.
Only for V.I.P
Warning! You are not allowed to view this text.