IB Objects Community
What people in our user community are saying about IBOand what they are doing with it

Why I chose IB Objects...

After trying out all sorts of components to help us design large (3 million
record +) read-only multi-user fast information systems I have found the
best solution in Delphi, simply IBO + DevExpress (menus, grid & MemData) +
Report Builder. I have spent too much of my time struggling with standard
grids, menus, IBX/BDE and QuickReport.
Andy MurphyThe Rating Software Company
NetFile is an online data management provider for more than 3,000
California and Federal political organizations. These political
organizations manage contribution, financial and disclosure data using the
NetFile system of high-performance political tools.

For the past 3 years, NetFile has relied upon the Interbase Objects
component suite for lightning-fast, rock-solid access to client data.
No other Interbase data access product comes close to matching IBO's
feature set, flexibility, reliability and speed. Additionally, the
uncompromising quality and attention to detail provided by IBO's
principal architect, Jason Wharton, make IBO the natural choice for
any developer utilizing Interbase.

IBO is simply the most indispensible component set used by our
development team!
David MontgomeryNetfile

For what it is worth, here is my take on my first week with IBO: The
components were so well written and organized that I got that feeling I
did 7 years ago with MS-Access2.0 - "Hey, my mother could program with
this."

It amazed me how fast I could hammer together an Interbase client. The
controls were a snap to use, way better than the stock stuff from Borland.
What slowed me down the most was trying to figure out how to use
TIB_Query, because it does so much.

Working with Access was like driving a go-cart on a freeway. Working with Paradox in a network environment was like playing in a band with an alcoholic: Some brilliant moments followed by the
inevitable crash. MS-SQL is a bureaucracy you purchase. D5, IBO, and Firebird so far has been a dream team.
George Helmke

We decided to buy IBObjects components because they are the best we have ever seen. We tested dbExpress, SQLDirect, IBX and our current applications based on BDE. IBO is not so easy to use but it works just as it should. If you compare with others just how they handle Refresh and you will see that only BDE and IBO works ok.

For test we use DbGrid to show data. BDE with TTable is working fine. dbExpress have bug when RefreshRecord is used and you can only use ClientDataset for updating data. SQLDirect doesn't support Refresh (record) yet. You have to refetch all data to see changes made by triggers.
IBX is moving record position always to last position in grid. IBX also doesn't have so much flexibility as IBO does.

We found that we don't need to use persistent fields any more and we can also have data dictionary outside of application with IBO.
We found that we can have now applications without Lookup fields so we can speed up things a lot. So IBO gives you a lot more than BDE does. You can tune TIBOQuery as much as you like. You can't do anything like that with IBX. I can say that IBO is for professional use and IBX is very far from that.
Rado Antloga

Having subscribed to the IBO list for some weeks now, one thing is very
clear. Support, Support & SUPPORT!

You may be reluctant to toot your own horn about support (since you
provide a TON of it), but the IB community really needs to know about
it. Add the support provided by Helen & others and it's second to
none.
Wes Peterson
LexCraft Data Services

Why do I use IBO? It works. Plain and simple. I have tried using the BDE and IBX in a heavy duty, large transaction based ASTA application. Neither would work - big transaction and memory issues... after resolving a few issues with IBO, it is rock solid.
John Rendell
... comparing IBX to IBO is like comparing a re-painted 1995 Toyota to a
2001 Benz.

I really believe that Jason is correct in strongly advocating IBO. Those
newbies who heed him will be fortunate, and will avoid the dead end that
one will ultimately encounter with IBX. IBX may seem easy at the start, but
once you get into the thick of things, you will find that you will somehow
have to stitch so many pieces of the puzzle yourself.... So much for RAD. But
with IBO, one would almost always find that once you get into the thick of things,
Jason had already worked things out for you.

You are so lucky to get straight into IBO without passing by IBX. Others are forewarned to do the same if they want to hit the Interbase road running...
Joseph Alba

There is only one problem when looking at the differences between IBO
and IBX. You have to be using both in the real world to make any
comparison.

Those of us who found IBO at the right time are not going to waste time
even installing IBX. So we keep our heads down and keep a clean
development base.

For those who have years of Delphi 4 and earlier code, they are
reluctant to move to Delphi 5, for good reason, it takes a long time to
change. I am C++ based and delayed moving from OWL based stuff until
Builder 3 had been out a while, so that I did not start a move until
Builder 4 was due. I had not finished that move when Builder 5 came out,
and only really moved on to that because of the problems getting BDE
working in Builder 4. Borland have done themselves no favours in the way
they have managed updates, BDE has NEVER worked properly.

I switched to Codebase and have systems running in OWL that have run for years and did
not even need changes for Y2k. I was forced back to BDE because of the
switch to Builder, and it was only after a second try with IBO that I
started to get back to stable applications, after a break of some 3
YEARS trying to get Builder/BDE applications stable ( no growth! ).

I 'lost' 7-8 months of possible IBO development
because my intial attempt to switch was not sucessful. The problem at
that time turned out to be all the crap I had added to make BDE stable.
Once I started again with a clean IBO application everything ran nicely,
but I am still trying to UNDO 3 years of crap!
Lester Caine
L.S.Caine Electronic Services

It has been a couple years since I have even tried FreeIB which is
apparently what IBX is now. My experience was not good. I spent a lot of time on it, and never got it to
work effectively, if at all.

When I ran across IBO about 3 years ago, it was
"love at first sight". It worked quickly and easily. It also had a lot of
the functionality that I was struggling to implement on my own. Grid sorting
by clicking the title bar sounds easy but is more trouble than it looks. IBO
did it virtually automatically.

I had also put a lot of time into making an
interactive "Icon" that would turn red when data was in edit mode. Again,
sounds simple but is actually quite involved. I was very pleased when I
started using IBO and found that the transaction bar did all that completely
automatically.

When I first got Delphi 5, I revisited IBX, and found the same problems as before. I didn't waste
any more of my time with it after that.
Paul Gallagher

From the little amount of object transfers I've made [from IBX to IBO] it worked far better than I expected.

To mix IBO with IBX doesn't work too well to my knowledge, as far as
I remember I got some data refresh/update problems. The only thing
that gave me some trouble was the QuickReports. There are probably
solutions to that too, but I didn't have too much time to search
for 'em.

I really like this suite a lot, gives me more flexibility and less
source with less effort. Which I guess is the main subject of course.
Svein Petter

Enter the Amazing World of IB ObjectsA personal view by Stephen C. Ebbrell

When Borland® decided to release an Open Source version of Interbase® I just knew that I had to move over to it, after all, it's not every day that someone offers me a $10,000 database engine for free and then includes a royalty free runtime to boot.

I had been developing Local Network applications since around 1987 but I didn't have much idea of Client/Server applications, now was the time to jump in with both feet, after all, developers producing C/S applications were getting paid a lot more than me for their work, time I got in on the act.

All I had to do now was decide which Delphi components I was going to use, as with most other Delphi components you can try all the third party Delphi® Interbase® components before deciding which to go for.
For my test database I created 15 Million records in order to test the effectiveness of the components with regards speed.

FIBPlus, I just couldn't get into these components at all, they just didn't suit my way of working, they went into the bin very rapidly.

ZEOS, now these components appeared to offer some short cuts for the beginner, but when I tested them with a large database I found that they just didn't have the speed of the others.

Interbase Objects (IBO), I knew all along that these were the components to go for, everyone says so, but for a C/S novice? hardly, or are they?

IBO comes with a rich set of native components which are not descended from Delphi® TDataset components, plus you get TDataset descended components which allow you to connect to standard Delphi® + Third Party data aware components such as Infopower® etc..

The TDataset components allow you to get started immediately, but I read a message from Jason Wharton, the author of Interbase Components, in which he told a new user that he would be better using the native IBO components as they had more flexibility and many more features.

Being a British Bulldog I decided to bite the bullet and use the native IBO components.
Jason has some unique properties in his IB_Query component which are not very self explanatory, I was on my third try with IBO, after binning it twice, when I decided to do a search on the Internet to find out what all these nnnLinks properties in IB_Query are about, I found myself on the IBO List with Jason explaining to someone what to enter in the nnnLinks properties, Eureka!, two minutes later I had my application running, I was off the starting grid and racing ahead.

Although IBO comes with examples it is very difficult for a novice to understand what nnnLinks actually do, but once you figure them out the examples make the perfect reference. Only when you understand what to enter into the Links properties do you realise why Jason has included these properties, they are there to reduce your development time and to give you unprecedented flexibility and speed.

After five years or so in the making, you can bet that there is a very good reason why something is done a particular way, it may not appear obvious to you at first but when you are well into your application you will suddenly see why, rather like Delphi, at first you wonder why some things are done a particular way and only later do you realise that there is always a very good reason for it.

I am currently producing my first real application with IBO and I can honestly say that the native IBO components are the finest components I have ever used, life without Infopower®? No problem!

IBO isn't just a set of super components to connect with Interbase®, IBO have been designed to overcome many of the shortcomings of Interbase®, they employ more intelligence when it comes to filtering on the Server, it is very rare indeed for IBO to fetch all the records to the Client for processing.
I particularly like the colour change settings which allow the user to instantly know which data mode they are in, Editing, Inserting, Deleting or Searching, very user friendly.
The native IBO Grid is another good example of rich features, setting a few properties gives you column sorting with sort icons and even change the sort column colour if you wish.
The native Edit components change to SearchEdits when you enter Search Mode, you can then enter “between n and n”, “containing xyz”, “like '%xyz% or simply enter “xyz” which infers “beginning with xyz”, wow! Power to the user…

After you have taken advantage of all the many features of the native components to give your application the killer edge you can rest in the knowledge that behind the scenes IBO is working hard to fetch your results as fast as lightening.

One initial worry I did have was the inability of the native IBO components to connect to standard third party components like TeeCharts.

I use FastReport and it worked perfectly with the native IBO datasets , until…..

I installed the IBO version 4.0 beta and the feathers hit the fan, FastReport would no longer install, here we go again…the brick wall.
A quick message of panic to Jason, and whilst I awaited a reply I decided to try adding an IBO TDataset Query to connect to FastReport after un-commenting “IBO” in the FastReport.INC file, all I needed now was to pass the result of the native IB_Query to the TDataset IBOQuery, but how?

iboquery1.AssignSQLWithSearch(ib_query1);

Brilliant, Jason has thought of everything, I can now pass results to any standard Delphi Data Aware component and still have all the benefits of using the IBO native components, what more could a person ask for in life?

I am enjoying setting the properties in IBO to give my application features I could only dream about previously.
Remember when you got your first copy of Delphi, the excitement…the feeling that it was right…the feeling that it had been designed by someone who knew what was required, I am reliving that same feeling with IBO.

IBO costs virtually the same price as InfoPower® 3000 which makes it tremendous value for money, but after you have deducted the cost of all the extra third party components you won't need to buy you may discover it has cost you nothing, if you see what I mean..

If you are hesitant about making the move to IBO, give yourself a push, you won't regret it, and then go for those corporate contracts in the knowledge that you can deliver the very best product at the very best price.

IBO, the only way to go!

WHAT USERS ARE DOING with IBObjects

Lorenzo MengoniIBOConsoleIBOConsole, open source, FREE, based on the open source Borland IBConsole and using pieces of the Marathon 2 code (also open source). It does what IBConsole does - but with fewer bugs and more capabilities:

Metadata editing - any object in the database can be manipulated in an editor window.

Multiple tables or views on the desktop for data viewing or editing, with filter capability

Blob display of text, jpeg, gif, png, bitmap, icon, wmf

Permissions management

Thomas SteinmaurerIBLogManager
IB LogManager is a data logging tool for Interbase/Firebird that logs data changes in the database for each DML operation (Delete/Insert/Update) on easily specified database
objects (tables, columns). If you are interested in logging a history (changes) of prices in a table ARTICLE, just define it with one mouse-click. It's easy and no programming needed!

Thomas Steinmaurer:
I've released v1.2 of the newly formulated IBOTST Extension Package.
(~ 60Kb).
Currently Freeware with Source (probably later under the IBO
Trustware license). IBOTST (TST stands for Thomas STeinmaurer) Extension Package is a
collection of currently two useful IBO native data-aware components for Delphi 5 and 6.

TIB_JPEGImage:
A component to store/retrieve JPEG images into/from an
Interbase/Firebird BLOB field with drag&drop functionality and
windows clipboard support.

You can find simple demo applications for both components in the \Demo
subdirectory. Feedback is always welcome!

Roger PassfieldIBUpdata
With our IBUpdata utility you point the utility at your latest version (the model), and at an
out-of-date target, and it updates the target metadata to agree with
the model. Data is manipulated to conform, including field order and
data types. A full progress and exception report is generated as it
goes.

It allows you to create and save schedules of renamed fields, and will
transfer relevant data to the new fields. It currently works with IB
5.6 and 6 Dialect 1. We have not used it or tested it on dialect 3
or alternate character sets or collation orders.

This has saved us many days hard labour bringing clients up to new
versions. If our apps work well with the source database, then we can
be confident they will work with the converted target. At only
$120 USD, it pays for itself within a few hours of downloading.

Here are the functions, any or all of which can be selected for each
run.

Martijn ToniesInterBase WorkbenchVersion 0.8.5Upscene Productions is happy to announce a new version of InterBase
Workbench - the developer tool for InterBase and Firebird.

InterBase Workbench is created with IBObjects and supports InterBase and Firebird. Use it to create, edit and extract your database objects, export tables, run scripts and ad-hoc SQL statements and much much more. Works well on low-bandwith connections because of extensive caching when using the Object Editors.

New features include Auto Increment Wizard, Grant Manager. Now usable even on Classic servers.

Carlos H. Cantu.
chcfilter
Component developed by me for use with IBO (and even BDE) 'Query' components
(for IBO, the TIBO_Query and TIBOQuery components are supported).

It is a filter component that will allow end-users to modify the WHERE
clause of a select statement in a very easy, visual way. It will also
allow the user to change the ORDER BY clause with drag'n'drop
operations.

The filter is very powerful (for both developers and end-users) and
has so many features that I will not describe here since the message
would be too long... Just go to my web page and
click the 'DELPHI VCL' link to see a full description of what it can
do for you.

Please send all questions, comments, bugs, problems, etc. to the email under my name (above).