FAQ Help On-line Trustware License News Contributed Code
Join IBO List List Archive What is IB Objects? Downloads
Events Tech Info Sheets IBO Community Links Home
IB Objects Community
What people in our user community are saying about IBO
and 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 Murphy
The 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 Montgomery

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 Objects
A 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?

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!

Lorenzo Mengoni

IBOConsole, 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.
  • Assisted creation and modification for databases, tables, views, indexes, constraints, triggers, stored procedures, domains, generators, exceptions, blob filters, roles, users.
  • 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 Steinmaurer

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!

IBLM is now fully implemented in IBO and includes IB Alias Manager support, improved speed, sorting refinement, read-only viewer, log setup wizard and much more.

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.
  • TIB_OleContainer:   OLE container to store/retrieve OLE data into/from an Interbase/Firebird BLOB field with drag&drop functionality and optional ZLib compression and windows clipboard support.
You can find simple demo applications for both components in the \Demo subdirectory. Feedback is always welcome!
Roger Passfield

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.

Drop Views, Drop Triggers. Drop Procedures, Drop Foreign Keys, Drop Indices, Drop Exceptions, Create New Domains, Create External Functions, Update Generators, Update Tables, Create Exceptions, Create Indices, Create Foreign Keys, Create Views, Create Procedures, Create Triggers, Drop Redundant Tables, Grant Permissions, Hide Procedure Source.
Vadim Vinokur
EMS QuickExport for IB Objects

Set of Delphi components for exporting your data to 12 most popular formats.


Compatibility with any TIB_Dataset descendant, data export to MS Excel, MS Word (RTF), HTML, XML, TXT, DBF, CSV, SYLK, DIF, LaTeX, SQL and Windows Clipboard.
100% native Delphi code - no additional libraries or programs, no OLE, DDE, BDE etc.
Martijn Tonies
InterBase Workbench
Version 0.8.5

Upscene 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.

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).

Your Name here
Your IBO product here