Subject | Re: [IBO] IBOQuery Locate bug IBO 4.6A |
---|---|
Author | Helen Borrie |
Post date | 2006-04-10T05:54:38Z |
At 02:59 PM 10/04/2006, Johannes Pretorius wrote:
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
begin
.....
end;
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.
Helen
>If more information is required., Please tell me and I will try andYou don't have to prove it to *me*. It was a logic bug in Delphi at
>write an sample app to prove this.
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
begin
.....
end;
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.
Helen