Subject RE: [IBO] Instructions for upgrading IBO in BCPPB4?
Author Norman Dunbar
Morning Joe,

many many months ago I posted the following as my experiences of installing
IBO4Fd into Builder 4 Pro. Not much has changed. Hope it helps.

You may find that it is better to build each project individually rather
than build all. This is because Builder will check for ALL dependencies
before starting to build any of the projects - hence all the messages you
must cancel out of.


PS. There is also a TI sheet on the web page describing the installation and
some gotchas when using IBO with C++.

Norman Dunbar
Database/Unix administrator
Lynx Financial Systems Ltd.
Tel: 0113 289 6265
Fax: 0113 289 3146

Installing IBO42_Fd in C++ Builder 4 Professional.

In the following I refer to $(BCB) which is a macro used to define the
folder where BCB has been installed. On my system this is d:\program
files\borland\cbuilder4 - your system may differ.

Where I refer to VDT or CDT etc, I am 'shorthanding' the package names from
IBO40CDT_C4.BPK etc.

Where I refer to '*DT*' or '*RT*' I mean the packages with 'DT' or 'RT' in
their names.

Where I refer to '*X*' or '*W*' I mean the packages with 'X' or 'W' in their
names. (Tdataset compatible and Web modules).

Preparatory work.

Create a new folder under $(BCB)\source\ibobjects\IBO42F
Extract to the above folder.
Extract to the above overwriting all files as appropriate.
There is no need to unzip the 'in-between' patches because each one is
included with the next one - unless advised otherwise.

highlight and remove all IB Objects packages in the list.
Click OK

click on the LIBRARY tab and add the new IBO42F folder to the library
browse paths. Remove previous IBO from these two paths also.
Click OK.

Close C++ Builder.

If you have a previous version of IBO installed, and wish to keep it, use
Explorer to find and move to a safe place all the IBO*.bpl files in

Ditto the IBO*.lib and IBO*.bpi files in $(BCB)\projects\lib.

As a last check, search for and destroy/save any IBO*.bpl files in your
windows system folder. I didn't have any on my PC.

We now have a clean system ready to install the latest IBO42 system.

Installation of IBO.

Start C++ Builder again.

Select FILE|OPEN PROJECT then select the IBO40_C4.bpg from the new IBO
If the project manager doesn't open, select VIEW|PROJECT MANAGER.

As I do not use or need the TDataSet compatible part of IBO, I remove all
projects with an 'X' in their name. Right click, remove, and confirm for

As I only have BCB Pro and the INET*.dll files are only in the Enterprise
edition, I remove all projects with a 'W' in their name. Right click,
and confirm for each one.

Select PROJECT|BUILD ALL PROJECTS and the list of packages should start to
compile & link. Unfortunately, you will get errors saying that various *.bpi
files cannot be found. This will only happen on the *RT* runtime packages at
top of the list. It happens because you moved the old *.bpi files to get a
system, but you are going to build them anyway - it's a BCB thing !

(If the option BUILD ALL PROJECTS is greyed out, simply double click on one
of the packages in the project manager to open it, then try again. It's a
in BCB.)

For each message, click the CANCEL button, not the OK one. There will be a
messages to CANCEL, so just do them all. It's fun isn't it?

Eventually, the messages go away, the packages all build and we
are ready to install. Right click on each *DT* package in turn, and select
install. VDT will fail to install (as will FDT and EDT if you simply carry
The message will be 'Cannot load TRT, it contains unit "ib_process" which is
also in VRT'.

If you get any errors in the linking phase, which state that *.OBJ cannnot
be found, right click on each package name, select OPTIONS, click on the
DIRECTORIES/CONDITIONALS tab and remove the intermediate path. It's
another IDE bug I'm afraid.

Ok the fix for this is simple, but was difficult to figure out. Open the
it says it cannot load (TRT) and add the package it says it conflicts with
to the REQUIRES list (right click on REQUIRES and select ADD, click BROWSE
locate the VRT.bpi file (in $(BCB)\projects\lib) and OK it. Right click on
TRT package and BUILD it again.

Now we can right click VRT and INSTALL it - it works! Continue with the
in the order they appear on the list. Eventually, you will have a fully
installed IBO4 system.

Next step is to make sure that your default project is configured to use the
IBO system. Select FILE|CLOSE ALL and answer YES to each and every prompt to
save changes to each package.

add $(BCB)\source\ibobjects\ibo42f to the include path and remove
previous IBO path.
add $(BCB)\source\ibobjects\ibo42f to the library path and remove
previous IBO path.
Make sure conditionals are blank.
make sure intermediate output folder is blank. (See below)
final output is set to $(BCB)\projects\bpl (should be the default)
bpi/lib output is set to $(BCB)\projects\lib (again, should be default)
Click OK.

That has set up a default project to use the new IBO stuff by default.
Exit from BCB and restart it - you should still see the IBO tabs on the
component palette - I did not, so I carried out the above step again, and
time, I did see them when I restarted.

The need to leave the intermediate output path blank is required because the
IDE will sometimes
fail to read an OBJ file from the intermediate folder when linking. The
file(s) are there and can
be read, the linker just doesn't see them.

Norman Dunbar
Database/Unix administrator
Lynx Financial Systems Ltd.
Tel: 0113 289 6265
Fax: 0113 289 3146
This email is intended only for the use of the addressees named above and
may be confidential or legally privileged. If you are not an addressee you
must not read it and must not use any information contained in it, nor copy
it, nor inform any person other than Lynx Financial Systems or the
addressees of its existence or contents. If you have received this email
and are not a named addressee, please delete it and notify the Lynx
Financial Systems IT Department on 0113 2892990.