3

ソース モジュールからのすべてのアウトリンクのベースライン属性を変更できるようにしたいと考えています。これを行うために使用できる DXL コードを知っている人はいますか?

以前のアウトリンク (ModuleVersion BL [1.20] など) を手動で削除し、特定の新しいベースライン (ModuleVersion BL [1.21] など) へのアウトリンクを再作成するよりも簡単な方法があるはずです。

for outLink in all (Object srcObject) -> (string linkModName) do { ... targetVersion(outLink) ... }

助けてくれてありがとう。

4

1 に答える 1

2

これを行うdxlの方法は次のとおりです。

Link ol
Object o
Object othero
Module m = current
string LinkModName = "FULLPATHTOLINKMODULE"
Module tMod
ModName_ tModName
ModuleVersion mv
Baseline b
int tAbs

  // Current Version of the Links
string cVersion = "1.20"

  // Target Major, Minor and Suffix
int tMajor = 1
int tMinor = 21
string tSuffix = ""

for o in m do
{
  for ol in all(o -> LinkModName) do
  {
    mv = targetVersion(ol)
    tModName = target(ol)
    tMod = read(fullName(tModName),false)
    if(isBaseline(mv))
    {
      if(versionString(mv) "" == cVersion)
      {
        if(!isBaseline(tMod))
        {
          b = baseline(tMajor,tMinor,tSuffix)
          if(baselineExists(tMod,b))
          {
            tMod = load(tMod, b, true)
          } else {
            ack "Baseline [" tMajor "." tMinor " " tSuffix "] was not found"
            halt
          }
        }
        tAbs = targetAbsNo(ol)
        othero = object(tAbs,tMod)
        if(!null othero)
        {
          o -> LinkModName -> othero
          delete ol
        }
      }
    }
  }
}
flushDeletions()
save m

リンク モジュールへのパスを挿入し、必要に応じて現在およびターゲットのベースライン情報を更新することを忘れないでください。

古いリンクを削除しない場合は、 delete olandを省略できます。flushDeletions()

于 2013-02-27T13:44:50.533 に答える