>>This can fail. Another user can grab the table between the RETURN and USE EXCLUSIVE. I'm not saying it will, but the possibility is there.
>
>You could reduce the probability of this by an incredibly small amount by doing the close and return at the same time:
RETURN fh > 0 AND FCLOSE(fh)
This way the close does not happen until the very last moment. And because VFP evaluates expressions from left to right and there is an AND, if the file was not opened then the FCLOSE() will not be attempted.
That does reduce the time between them, but still leaves open the possibility that someone else will grab the file.
Craig Berntson
MCSD, Microsoft .Net MVP, Grape City Community Influencer