Subject Re: [IBO] An Old Newbie
Author Helen Borrie
At 04:24 PM 6/09/2007, you wrote:
>Hi!
>
>Well, a long time ago, back in Firebird version 1.0, I've ported one
>application of mine to use with FB. The intention was to get used to
>FB. For some reasons I did not used FB in my projects. Nowadays, with
>FB 2.x, I think the Firebird time has come for me and I am trying to
>port that app again but I am facing a problem.
>
>The first project was build with Delphi 5 and IBOjjects 3.5b and
>worked pretty well. Today I am using Delpi 7 and IBObjects version 4.8.7.
>
>The problem I am facing is that the project do not compile.
>:-)
>
>The Error messages are:
>
>UNIT - MESSAGE
>IBA_LocateCursor.IMP(98) - undeclared Identifier: VarIsArray
>IBA_BDataset.IMP(1077) - undeclared identifier: Unassigned
>
>There are 49 errors and the messages are pretty close (undeclared
>identifier VarIsArray, VarArrayDimCount, Unassigned, VarArrayLowBound,
>etc.)
>
>Sure I am missing something here and I hope that fixing these kind of
>error, the remaining 47 error will be gone too.
>
>Someone knows what I am missing?

Hmm. it is more like what you have that shouldn't be there! It looks
as though you have some flotsam there from the IBO 3 era, when the
units were all separated into sections. From IBO 4 onward, they were
physically merged and very few .IMP files remain - and they don't
include the ones that are showing up in your compiler error messages.

>Did I forget to set some directives or maybe activate some checkboxes
>somewhere?

MUCH has changed in IBO over 7 years. You will need to set up your
Delphi 7 environment so that there is no chance it can find (or needs
to look for) any of the bits and pieces you have left around from
3.5, like BPLs, DCPs and DCUs (or any corresponding source files).

I can't guess what you might have there that depends on IBO 3.5, but
you won't be able to have components installed side-by-side that
depend on unmatched IBO versions.

As for old D5 project source, that will be long out-of-date. There
were big changes between D5 and D6 that broke sources that were
created under D5. There were many changesand it's too long ago now
to remember them all but the most destructive was with projects that
had dependencies on things that had been moved out of the RTL. You
will probably be able to unearth some upgrade tips using Google.

There is less of a difference between D6 and D7...D7 was little more
than a bugfix release for D6.

>Any hel is very apreciated.

Well, no magic bullets, unfortunately. It's going to be a case of
"clean up and isolate". As for your old D5/IBO 3/ib 5.6 code, a
fresh start might turn out to be the most productive approach, moving
the routines you want to keep into a separate unit...

Helen