>I have a SEEK() function that occasionally (about 1 time in 100) fails to return ANYTHING.
>
>lRet = seek(cSeek, 'MyTable', 'MyTag')
>
>If lRet
> End Transaction
>else
> Rollback
>endif
>
>I get a type mismatch error, and Debug shows that lRet is .NULL.
>
>I can't duplicate it on demand, but it sure messes up the program.
>
>Any ideas?
>
>TIA
>Barbara
OK, you've got me worried. I can't think of any way to produce what you have seen.
If lRet had a value other than .NULL. before the seek(), then seek() is returning a .NULL. If lRet was .NULL. before your seek, then, either there was no return value, seek() returned a .NULL., or seek() is still busy seeking and hasn't returned anything YET (does your program continue past the seek() when the problem occurs).
In any case the impossible is happening. This class of problem (the ones that can't happen) are generally solved by turning your machine off and on again. What this technique solves, of course, is memory corruption. The only thing I know of that will do this is a program built in say VFP 5.0a SP3 being sent to a user just as an exe where the original setup on their machine was done with an earlier version (VFP 5.0a without the Service Pack 3 upgrade). If the problem's happening on your own machine, you can throw this idea out.
To summarize, I don't know.
Good luck, maybe something above will turn a light on.
Bob