Subject Re: [IBO] Native Delphi components/IBObjects.
Author Helen Borrie
At 09:58 AM 09-09-01 +1000, you wrote:
>Do you perhaps mean TIB_Datasource?
>Sorry!! I confused the DataSet Property of a DataSource object - as being its name.
> >Use the native Delphi TDatasource with these components, along with the native Delphi data-aware >controls.
> >Use TIB_Datasource to link the native IBO (TIB_*) data access components with the IBO TIB_* controls.
>I am confused and left puzzled as to how one can use any "native" Delphi components if one wishes to escape dependency upon the BDE. Perhaps you could be so kind as to refer me to some notes on when components/objects are dependent upon the BDE - and when not.

None of the components is dependent on the BDE.

>Meanwhile I have created an SQL DataBase together with Tables.
>I need to hook a Grid to a DataSet in order to access a Table component - and thereby one of the tables in the DataBase.
>All of which should have nothing to do with ultimate dependance upon the BDE.
>Could you please be so kind as to explain which components/objects I should use - to totally avoid any dependance upon the BDE.

Use the TIBO* components if you want to retain compatibility with native Delphi controls and those third-party controls which need to work with a TDataset descendant and the native Delphi TDatasource. Examples of such controls are Infopower, QuickReport, Teechart. TIBO* components are "straight-swappable" with their native Delphi equivalents - TDatabase, TTable, TQuery, TStoredProc and TUpdateSQL.

The BDE-to-IBO conversion paper on the TechInfo page shows how to perform a straight conversion in minutes.

Use the TIB_ components for complete control over your sessions, connections and transactions. Use TIB_Connection or TIB_Table for your database connections. Connect the data access objects (TIB_DSQL, TIB_Cursor, TIB_Query, TIB_StoredProc) to the TIB_Datasource and connect this to the TIB_* data-aware controls.

The TIBO* TDataset-compatible components inherit from the same TDataset base-class as their VCL counterparts. TDataset is a virtual class which does not depend on the BDE.

If you examine the hierarchies of the components, as suggested earlier, you will see that Delphi's datasets become BDE-dependent further down the chain, at TBDEDataset. The TIBO* components "fork" to the base class TIBODataset higher up the chain. They fully emulate all the properties and behaviours of their VCL counterparts.

The TIBO* data access classes wrap an internal TIB_Dataset which they surface as the property InternalDataset. This makes several useful properties and methods available that do not have TBDEDataset equivalents - such as GeneratorLinks, KeyLinks and many more.

If you plan to stay with table components, you have no option but to choose the TIBO* data access components. This will give you a "comfort zone" of familiarity if you have previously only worked with desktop databases. You will lose the benefits of search mode and total server-centric control over your data.

Table components are not recommended for client/server work. However, Jason has put in a huge amount of work with IBO4 to make the table component more efficient than its BDE counterpart so, if you really are not interested in developing an application that takes advantage of client/server features, especially SQL, there is still a gain for you.

The Getting Started Guide discusses all of these issues and contains examples of using the native IBO components and controls together.


All for Open and Open for All
InterBase Developer Initiative ยท