From help:
If FLOCK() fails to lock a table and returns False (.F.), FLOCK() does not generate an error. As a result, you cannot use FLOCK() to trigger an ON ERROR routine.You can have the flock() in a loop, with a small delay. Another option is to change the value of Set Reprocess.
Update. What about this:
Try
if !flock()
error "Locking error"
endif
Catch
Endtry
>Hi All:
>
>I am running 2 instances of VFP to simulate a file sharing problem. When instance 1 says:
>
>
>USE foo EXCL
>
>
>This works in instance 2:
>
>
> TRY
> USE foo SHARED
> CATCH TO ww
> MESSAGEBOX('Problem! You got error # ' + ALLTRIM(STR(ww.errorno)))
> ENDTRY
>
>
>HOWEVER when instance 1 says:
>
>
>USE foo
>flock()
>
>
>the 2nd instance just hangs with the following message in the status bar:
>
>
>Attempting to lock... Press <esc> to cancel
>
>
>How can I handle that situation gracefully with TRY..CATCH? I need this since the other system seems to be doing something like flock() and there's no way I can get the user to change the program.
>
>Thanks,
>
>Yossi