Subject Re: [IBO] IBOQuery Locate bug IBO 4.6A
Author Helen Borrie
At 02:59 PM 10/04/2006, Johannes Pretorius wrote:

>If more information is required., Please tell me and I will try and
>write an sample app to prove this.

You don't have to prove it to *me*. It was a logic bug in Delphi at
least as far as Delphi 3 and, if memory serves correctly, I think it
was still there in Delphi 4. I've used all the Delphi versions since
the first, and I learned from bitter experience to work around this
bug by always isolating each or phrase in its own brackets. I still
do, though I'm using Delphi 7 most of the time now.

Less distinct are other things that this bug affected. One I recall
was when parsing sets, e.g.

if MyQuery.State in [dsInsert, dsEdit]

you would get "false negatives" unless you put round brackets around
the square brackets, viz.

if MyQuery.State in ([dsInsert, dsEdit])

I seem to recall problems with structures like

with MyQuery do
while not EOF do

So this is a case where relatively recently developed code (say, that
written in 1999 or later) gets right results in more recent versions
of Delphi and continues to be problem for old Delphi versions.

IBO 4.6A is not really certified for use with Delphi 3 and I think
it's pretty certain it hasn't been tested with it. Delphi 3 is now
nine years old and I don't think Borland is going to bugfix it real
soon. There are other things that will bite you trying to use IBO
4.anything with D3, as well.