我无法删除对象...为什么?

时间:2019-05-21 15:50:42

标签: ibm-doors

这是我的代码:

void deleteObject(Object o, Module m){
 Link lnk, delLnk
 string srcModName
 // delete outgoing links
 for lnk in o -> "*" do {
    delete(lnk)
 }
 Object srcO
 Link inLnk
 for inLnk in o <- "*" do {
    srcModName = fullName source(inLnk)
    print srcModName "izena\n"
    edit(srcModName, false)
    delLnk = inLnk
    delete(delLnk)
 }
 flushDeletions()
 hardDelete(o)
}

它在 hardDelete(o)行上崩溃,表示我无法删除该对象,因为它具有输入链接。有人可以告诉我为什么吗?

错误:

  

没有权力支持:反对派包围了参与者

1 个答案:

答案 0 :(得分:1)

我相信这段代码:

 Link inLnk
 for inLnk in o <- "*" do {
    srcModName = fullName source(inLnk)
    print srcModName "izena\n"
    edit(srcModName, false)
    delLnk = inLnk
    delete(delLnk)
 }

没有按照您认为的去做。更具体地说-仅在源已打开的情况下选择链接,这取决于您具有“ edit”命令,这似乎并不是您要尝试的操作。

string srcModName
for srcModName in o <- "*" do {
     edit ( srcModName , true , true , true ) 
}
Link inLnk
for inLnk in o <- "*" do {
   srcModName = fullName source(inLnk)
   print srcModName "izena\n"
   delLnk = inLnk
   delete(delLnk)
}

这将加载每个模块,然后删除链接。注意-这不会关闭打开的(已编辑)模块!我还让它以可见模式(可以轻松保存/关闭)和标准视图(以减少计算开销)打开那些模块

祝你好运!