首页 > 解决方案 > 使用“独占使用”的 Visual Foxpro“正在使用的文件”

问题描述

我在 Visual Foxpro 8.0 中编写删除/打包例程。

当“Use”语句使用“Exclusive”时运行以下代码时,我得到“File in use”:

    USE dbbudget_log EXCLUSIVE
    DELETE ALL 
    pack
    use
    SET SAFETY ON 

我什至尝试过 SET EXCLUSIVE ON/OFF,但仍然出现“文件正在使用”错误。

有什么建议可以消除错误吗?

最好的问候,尼克

标签: visual-foxpro

解决方案


这意味着该文件已在另一个会话中使用。该会话可能属于尝试独占使用的用户或网络上的其他人。此外, use ... EXCLUSIVE 不保证该文件是独占使用的(如果它已经在共享模式下打开,那么它会继续在共享模式下使用并且不会引发错误)。您可以针对这两种情况进行防御性编码:

local llHadError
On error m.llHadError = .T.
select 0
use dbbudget_log exclusive
zap
use
on error
* if m.llHadError && something went wrong
* ....
* endif

推荐阅读