I recently moved an application written in Delphi 2.0 from my Win95 box
to a new NT 4.0.1381 box. The Win95 box is a P5-90 and the NT box is a
dual Pentium Pro 180.
My application connects to an MS SQL Server 6.5 database on another
machine on our LAN. It runs SQL queries on the database and grabs all
of the matching records using a Query.Next / WHILE loop that checks for
EOF after each record. It issues several similar queries one after
This app runs fine on the Win95 box, but on the NT box it runs one or
two queries correctly and then starts getting premature EOFs on the
remaining queries. I can step in the de* and watch it branch on
the EOF check. I *know* there are more records in the database that
match the query. I've verified the data in the variables before I pass
it into the query (using the :varname substitution in Delphi) and they
I'm using the new Borland SQL Links 3.5 on the NT box, and the older
Field Test version of SQL Links 3.5 on the Win95 box. Aside from the
obvious O/S and hardware differences, that's the only thing I can see
that's suspicious looking.
Has anyone else out there had anything like this occur? I have no idea
how the EOF test can fail like this. I've got even less of an idea of
how to detect when it's giving a false positive.
--- MFM Communication Software, Inc.
--- 4460 Lake Forest Drive / Suite 218 / Cincinnati, OH 45242