我找到了这个代码,它在SHAREABLE EDIT中运行良好:
// Attribute DXL for locked objects
if (isLockedByUser(obj))
{
obj.attrDXLName = "LOCKED"
}
并补充说:
else
{
obj.attrDXLName = "unlocked"
}
但else
条件不起作用(if
部分功能相同)。我错过了什么?第一次在DXL编码,但我有C经验。编辑:我发现else
条件可能无法在未锁定的项目中更新,因此它永远不会出现。
剩下的问题是,为什么它不适用于Exclusive Edit?我应该检查isLockedByUser
模块,因为它已锁定在该级别吗?
// Attribute DXL for locked objects
if (isLockedByUser(obj) or isLockedByUser(current))
{
obj.attrDXLName = "LOCKED"
}
......也不起作用。同样,它适用于可共享编辑,但不适用于独占编辑。
有关如何让此字段为Exclusive Edit工作的建议?
答案 0 :(得分:0)
在isLockedByUser的DXL参考手册(第36章:常规功能>锁定)中,这里有如何描述:
bool isLockedByUser(Object o)
如果在编辑可共享模式下当前用户锁定了指定对象,则返回true。否则,返回false。
此功能不等同于检查当前用户是否可以修改给定对象。
我的猜测(我自己还没有通过DXL处理锁定)就是当模块处于共享编辑模式时,isLockedByUser只有意义,因此您可能必须找到另一种方法来执行您所做的事情。试图做。