Subject Re: [IBO] IO Objets design time editor behaviour question.
Author Helen Borrie
At 09:22 AM 7/10/2004 +1000, you wrote:

>I have recently started using IB Objects. Thus, the question I am about to
>ask may seem "Silly," however, I have read the documentation, and I am still
>wondering if I am doing things the wrong way.

No, not silly. :-) There's a LOT to take on board.

>I have droped a IB_Connection component onto a DataModule. When I double
>click the IB_Connection, it displays a design time editor, in which I can
>set not only the details of the Connection, but also the details for the
>Transaction, DSQL, Cursor and Query Forms. I then drop a IB_Transaction
>component onto the same DataModule. However, the settings I had made through
>the design time editor when working on the IB_Connection component are not
>captured/displayed on the design time editor of the IB_Transaction

The confusion is understandable. In fact, these are not design-time
editors but design-time database utilities. If you're familiar with the
IB_SQL toolbox (which you can download from the website, or build yourself
from the sources in your IBO root directory) you will see that these "modal
IDE toolboxes" are in fact modules from IB_SQL. You can run ad hoc queries,
fiddle with metadata, browse the database, etc., directly from the IDE.

>I have also encountered the same behaviour with the IB_Cursor component
>design time editor.

I was surprised to see that, in v.4.3, Jason had replaced IB_Cursor's
design-time editor with the toolbox. It previously had its own design-time
editor, similar to the one in IB_Query, though a lot thinner, of course. I
wondered whether it was intentional...

>What am I doing wrong?

Drop each component that you need into your form or datamodule and do your
basic linking from the Object Inspector. With IB_Cursor, currently, you
need to set everything in the Object Inspector, given the absence of the
DTE. IB_DSQL never did have a DTE.

In IBO, transactions link to connections (not the other way around), since
IBO fully supports multiple transactions per connection and transactions
that span multiple connections.

Avoid the DatabaseName and Params properties on your Connection objects and
use the properties Server, Path, Protocol and UserName, Password and
PasswordStorage if you are setting these.

Likewise, on the other DA components, link things up through the
IB_Connection and IB_Transaction properties and stay away from
DatabaseName. DatabaseName is supported for reasons of legacy code
compatibility, but I strongly prefer not to lean on defaults in a
multi-everything environment!!