Subject Re: [IBO] Newbie question...
Author Helen Borrie (TeamIBO)
At 10:28 AM 17-08-02 -0500, Scott Stillwell wrote:
>Where's the best place to get started with IBObjects and Firebird? I've
>got quite a bit of Pascal knowledge, albeit old (Mac Think Pascal & DOS
>Turbo Pascal...I've done real honest-to-goodness development work in
>both, not just study/hobby stuff). I have Delphi 5 Pro, but have never
>really done anything but mess around with it.

Your TurboPascal will be useful inasmuch as the old structural syntax is
still valid (largely, with some functions missing). I see you as having at
least three major learning curves:

1. To get acquainted with the event model of Delphi.
2. To understand three key OO concepts that Delphi and "by inheritance"
IBO depend on, viz. inheritance, encapsulation and, above all, polymorphism
(and recognise that, if a concept has a name less than three syllables
long, it probably has nothing to do with OO programming <g>)
3. To get to grips with what the various different classes do, e.g. (with
-- data access components
-- visual vs non-visual components
-- data-aware controls
-- non-data-aware controls
-- classes that are not components
-- ....

That's for Delphi. If you are also new to client/server databases, then
add in the separate but associated learning curves for relational database
design, SQL and the territory of programmable SQL (stored procedures and
triggers). All of that is "off-topic" over here at ibobjects. For support
with that area, join the ib-support list at

>I'm familiar (sort of)
>with the BDE method of connecting to databases/queries/datasources, but
>I don't want to get any MORE familiar with those if I gain performance
>bennies by using the "real" IBObjects, rather than the BDE compatibility

The simplest way to get into this is to begin by experimenting with what
you refer to as "the BDE compatibility objects". The component classes
that provide BDE-style emulation are those that start with "TIBO" - you
will find them on the iboTDataset palette. Use them exactly as the native
Delphi VCL equivalents would be used, using the VCL's TDatasource to link
them to the VCL's data-aware controls. This way, you can use the Delphi
help to get a good feel for how to implement data access the Delphi way,
without getting entangled with either the BDE or the relative complexity of
the "native" IB Objects data access, linking and data-aware controls.

Forget about "performance bennies" at your current stage. Tadpoles cannot
digest gadflies. <g>

Make sure you disable the IBX (InterBase Express) palette in your Delphi,
since it's a major source of newbie confusion.

>Any good docs to read?

I'll quote Geoff Worboys (a regular contributor on this list) as he has
done a noble job of distilling the main sources for goes:

IBObjects Related:

- The IBO online help - available where you downloaded IBO.
(Also: )

And I'll comment that the online help is itself built on Delphi's
inheritance model and does *not* document any VCL ancestor stuff. For the
TIBO* components, use the Delphi help, which is reasonably good - just
substitute the TIBO* equivalents where the Delphi examples use the VCL
(TDatabase--->TIBODatabase, TTable--->TIBOTable, TQuery--->TIBOQuery,
TStoredProc--->TIBOStoredProc). Down track, you can add extra transactions
(TIBOTransaction) to TIBODatabase and you can do a LOT more with
TIBODatabase than you can with TDatabase...let's say the VCL DAC's are
upwardly compatible with TIBO....spy out the BDE-to-IBO conversion section
of the (new) IBO4 help file for some good clues as to where differences lie.

- The release notes (distributed in the IBO Source as

- FAQ and Tech Sheet information at

- Getting Started Guide:

Note from me (Helen) - this document will probably be of limited usefulness
to you as a newcomer to Delphi. It's not a Delphi how-to at all - it
assumes you know how to write database applications with Delphi or
BCCPB. It addresses the use of the native IBO data access (TIB_* classes)
and controls. Some of it is relevant to TIBO*, since those classes have
"TIB_* wrappers", but the walk-throughs all pertain to TIB_* and the TIB_*
controls don't work with the TIBO* classes.

Interbase/Firebird Related:

- The firebird website:
(see links to "Documentation" and "Novice's Guide").

In particular most people should download and have as reference
the IB6Beta documentation available from:

- NB also (added by Helen) the Using Firebird and The Firebird Reference
Guide, two large PDF books currently in beta, available on the IB Phoenix
CD (details at ).

Other Useful Sites:

- IBPhoenix:

- Claudio Valderrama's resource site:

- Ivan Prenosil's site:

Helen Borrie (TeamIBO Support)

** Please don't email your support questions privately **
Ask on the list and everyone benefits
Don't forget the IB Objects online FAQ - link from any page at