dbappend() in my experience only gives error if the file is locked by
another process (with flock()).
Try... catch or the "classic" costruct begin sequence... break (oErr)...
recover with oErr... end sequence give you the full control of the error
condition (the only errors that are not catched are GPF's or worst).
Neterror() is not per se a show-stopper, it simply returns false, while
error 33 is.
So you get the error before neterr() is evalued, because the operation
that fails is dbappend(), and you need to control the error via try...
catch or begin sequence... etc.
Dbappend() appends a record and locks it. Thus, the lock only occurs if
the program has been able to append a new record. And he can't append a
record if the file is locked, or otherwise unavailable. But here we can
exclude network errors, we are on the server. So why the file could be
unavailable? Permissions are to exclude if the error is intermittent,
isn't it? File lock seems to be the obvious answer.
And change inkey(.5) with hb_idlesleep(.5)
Let us know.
Dan