Locate, Operation not found

I am using Delphi 4 and I am using dBase 4 databases.  When using a "while
not ***.Eof do" statement and a locate statement every so many times through
the loop I get the "Operation not applicable" error from the EDBEngine
Exception. The number of times through varies.  I have checked my data and
cannot find any problems with the database.  Probably some of the answers
might say, do not use dBase, but I do not have a choice.  The boss says that
I have too.

Please advise