首页 > 解决方案 > 我无法删除对象...为什么?

问题描述

这是我的一段代码:

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)线上崩溃,说我不能删除对象,因为它有输入链接。有人能告诉我为什么吗?

错误:

No se puede suprimir el objeto:El objeto tiene 吸引参赛者

标签: ibm-doors

解决方案


我相信这段代码:

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

没有做你认为它正在做的事情。更具体地说 - 这只会拾取源已经打开的链接,这基于你有“编辑”命令,似乎不是你想要做的。

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)
}

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

祝你好运!


推荐阅读