Fernando,
By default SET TABLEVALIDATE is set to 3. It requires VFP to validate table header every time it opens any table. In order to do that VFP has to get a header lock. In the case of the second instance it cannot because the first instance has file lock. You can SET TABLEVALIDATE TO 0 before openning the table in question to eliminate the problem. It's up to you how to use SET TABLEVALIDATE TO in the rest of your application.
>Hi Sergey,
>
>>
See SET TABLEVALIDATE command.>
>I issued:
>
>close databases all
>SET TABLEVALIDATE to 0
>USE h:\pointer\database\tasksched\task_lockfile.dbf SHARED
>close databases all
>SET TABLEVALIDATE to 1
>USE h:\pointer\database\tasksched\task_lockfile.dbf SHARED
>close databases all
>SET TABLEVALIDATE to 2
>USE h:\pointer\database\tasksched\task_lockfile.dbf SHARED
>close databases all
>SET TABLEVALIDATE to 3
>USE h:\pointer\database\tasksched\task_lockfile.dbf SHARED
>close databases all
>
>but nothing happenned. If the dbf table was corrupted it should appear some message?
>
>I don't thing that table is corrupted, rather that there is an extrange fLock() behavior in VFP8.
>
>Let me tell you a bit more and see you can give me further advice. That application was running ok till this morning (it was compiled in VFP 6) then I made a change in the appearance of the start screen and recompiled it again (now in VFP 8), since then it started to present the fLock() problem.
>
>Fernando
--sb--