0

我目前在处理具有不同基线的两个模块之间的链接时遇到问题。

示例:我有一个带有 10 个基线的模块 A 和带有 10 个基线的模块 B。链接是来自 A => B 的链接。模块 A 的最后一个基线在模块 B 的最后一个基线之后 1 个月完成。与此同时,模块 B 中的更多对象已创建并从模块 A 链接到它们。

所以现在我在模块 A 的最后一个基线中有一些链接,这些链接链接到模块 B 中的对象,这些对象在模块 B 的最后一个基线中不存在(仅存在于最后一个基线++中)。

当我运行我的 DXL 脚本以获取所有链接对象时,我还获得了这些不存在对象的 ID,即使它们在最后一个基线中不存在。我打开两个模块并使用 load(module, baseline,false) 函数加载最后一个基线。基线的名称有效,我的调试表明我确实在使用最新的基线。但不知何故,这些不存在的对象由于链接而被列出。我读过一些关于回显链接的内容,但它们对我不起作用。

一种可能的解决方案是获取模块 A 的基线日期并将其与链接对象的创建日期进行比较。但是必须有一种更简单,更清洁的方式恕我直言......有什么想法吗?

4

1 回答 1

0

很抱歉,我无法直接回答您的问题。我尝试了您介绍的两个模块(A 和 B)之间的脚本。我链接了这些对象,创建了一个新的基线,并添加了一些也链接起来的对象。

当我运行以下脚本时,我没有遇到您提出的问题。我希望有一些东西能给你一个新的想法。基本上我打开模块 B 的基线并计算链接。较新的对象(我在当前版本中找到)不包括在此计数中。

Module modB = read("/Testmappe/ModuleB", false)
Module baselineModuleB
Object objB
Link l
string linkModName = "*"
int countLinks = 0

  // baseline(MAJ, MIN, SUFFIX)
Baseline myBaseline = baseline(0, 1, "")

if(baselineExists(modB, myBaseline))
{
  baselineModuleB = load(modB, myBaseline, false)

  for objB in baselineModuleB Module do {
    for l in all(objB<-linkModName) do {
    countLinks++
    }
  }
  print "Number of in-links are: " countLinks ""
}
于 2015-10-05T19:05:45.113 回答