我正在努力理解Enterprise Architect的VBScript API。
我想添加一个人工制品,当且仅当它还没有被添加时,它是一个很大的导入,所以我想使用GetElementsByQuery接口来检查是否已经创建了类或接口,然后使用现有的引用而不是一个新的。
以下代码每次抛出一个异常,即使我知道strSourceName已经添加到存储库中。
on error resume next ' in case no object found the query will throw an exception
objCollection = Ea.Repository.GetElementsByQuery( "Simple", "strSourceName" )
If Err.Number = 0 Then
Session.Output( "info: found :" & strSourceName & ":" )
Else
Session.Output( "warn: not found :" & strSourceName & ":" )
Err.Clear
End If
我不熟悉EA或VBScript,所以请放轻松。
提前感谢您的帮助。
答案 0 :(得分:0)
你的剧本有几个怪癖。试试这个:
dim o as EA.Collection
set o = Repository.GetElementsByQuery ("Simple", "strSourceName" )
Session.Output( "info: found :" & o.Count & ":" )
您将看到o.Count
为0或大于0的内容。