我正在使用VBS将图表中找到的元素移动到图表所在的父包中。根据Enterprise Architect资源,我从图表对象中获取元素ID。似乎diagramObject elementID不等同于元素的elementID,因为尝试检索使用elementID的父包给了我一个未定义的值。
有没有办法从图表对象中获取元素的父包?
编辑:添加了我正在使用的代码
特定部分():
dim diagObject
set diagObject = package.Diagrams.GetAt(i).DiagramObjects.GetAt(j)
'add element to list and track its origin
dim elementID
elementID = diagobject.ElementID
dim element
set element = Repository.GetElementByID(elementID)
Session.Prompt elementID, promptOK
Session.Prompt "Test: " & element.PackageID, promptOK
整体功能:
Function prepare(package)
'define parent package id
dim parentID
parentID = package.PackageID
'iterate through diagrams
Dim i
For i = 0 to Package.Diagrams.Count-1
'iterate through diagram objects
Session.Prompt "iterate through diagram objects", promptOK
Dim j
For j = 0 to package.Diagrams.GetAt(i).DiagramObjects.Count-1
'Check if the object is a element
Session.Prompt package.Diagrams.GetAt(i).DiagramObjects.GetAt(j).ObjectType, promptOK
If (19 = package.Diagrams.GetAt(i).DiagramObjects.GetAt(j).ObjectType) Then
Session.Prompt "IS A element", promptOK
dim diagObject
set diagObject = package.Diagrams.GetAt(i).DiagramObjects.GetAt(j)
'add element to list and track its origin
dim elementID
elementID = diagobject.ElementID
dim element
set element = Repository.GetElementByID(elementID)
Session.Prompt elementID, promptOK
Session.Prompt "Test: " & element.PackageID, promptOK
originList.Add elementID, element.PackageID
Session.Prompt PackageID, promptOK
'move element to currently selected package
element.PackageID = parentID
Session.Prompt "Moved", promptOK
End If
Next
Next
答案 0 :(得分:2)
在更改PackageID
后,您永远不会更新Picasso.with(context).load(user.getPhotoUrl()).into(foto);
。一旦你这样做,一切都应该没问题。
答案 1 :(得分:1)
您必须首先从DiagramObject获取元素,因为DiagramObject不是元素
element=Repository.GetElementByID(yourDiagramObject.ElementID)
packageID=element.PackageID