0

我找到了这段代码,它在 SHAREABLE EDIT 中运行良好:

// Attribute DXL for locked objects
if (isLockedByUser(obj))
{
obj.attrDXLName = "LOCKED"
}

并补充说:

else
{
obj.attrDXLName = "unlocked"
}

else条件不起作用(if部件功能相同)。我错过了什么?第一次在 DXL 中编码,但我有 C 经验。编辑:我发现else条件可能无法在解锁项目中更新,所以它永远不会出现。

剩下的问题是,为什么它不适用于独家编辑?我是否应该检查模块isLockedByUser,因为它被锁定在那个级别?

// Attribute DXL for locked objects
if (isLockedByUser(obj) or isLockedByUser(current))
{
obj.attrDXLName = "LOCKED"
}

......这也不起作用。同样,它适用于可共享编辑,但不适用于独占编辑。

关于如何使该字段适用于 Exclusive Edit 的建议?

4

1 回答 1

0

在 isLockedByUser 的 DXL 参考手册(第 36 章:常规功能 > 锁定)中,它是这样描述的:

bool isLockedByUser(Object o)

如果指定对象在处于可编辑共享模式时被当前用户锁定,则返回 true。否则,返回 false。

此功能不等同于检查当前用户是否可以修改给定对象。

我的猜测(我自己没有通过 DXL 处理锁定)是 isLockedByUser 仅在模块处于共享编辑模式时才有意义,因此您可能必须找到另一种方法来做您想做的事情。

于 2016-09-08T16:36:25.747 回答