点击或拖拽改变大小

Functions.NetErr 方法

X#
检测并发冲突。

命名空间:  XSharp.Core
程序集:  XSharp.Core (在 XSharp.Core.dll 中) 版本:2.22 GA
语法
 FUNCTION NetErr() AS LOGIC
查看代码

返回值

类型:Boolean
如果发生并发冲突或通过 lNewError 参数程序性设置为 TRUE,则返回 TRUE;否则返回 FALSE。
初始值为 FALSE。
备注
NetErr() 是由某些操作设置的全局标志,用于测试以下情况的并发控制冲突: 尝试的操作 NetErr() 为 TRUE 使用 APPEND BLANK 或 DBAppend() 追加空白记录 如果另一个进程在进行文件锁定或记录锁定 LastRec() + 1(例如,同时追加空白操作) 以共享或独占模式打开文件(例如,使用 USE 或 DBUseArea()) 如果另一个进程独占使用该文件 以独占模式打开文件(例如,使用 USE...EXCLUSIVE 或 DBUseArea(),并将 lShared 设置为 FALSE) 如果另一个进程以共享或独占模式打开该文件 在这些情况下,内部结果会导致运行时错误,调用已安装的错误处理程序。 默认错误处理程序的源代码定义在 X# \SAMPLES 目录中的 ERRORSYS.PRG 文件中,在这些情况下不会显示错误消息,允许您的应用程序继续。 NetErr() 通常通过测试这些操作之一在程序中应用。 如果函数返回 FALSE,您可以执行下一个操作。
否则,您必须通过重试操作或通过使用 BREAK 或 RETURN 来处理错误。
示例
此示例演示 NetErr() 的典型用法。
如果 USE 成功,则打开索引文件并继续处理。
如果 USE 失败,则显示消息,并控制返回到最近的 BEGIN SEQUENCE 构造:
X#
1USE customer SHARED NEW
2IF !NetErr()
3    SET INDEX TO custnum, custorders, custzip
4ELSE
5    ? "文件正在被另一个进程使用"
6ENDIF
参见