前页 后页

EA_GetCompartmentData

当指示Enterprise Architect重绘元素时,将发生此事件。它要求Add-In提供数据以填充元素的隔离专区。

句法

函数EA_GetCompartmentData(存储库为EA.Repository,sCompartment为字符串,sGUID为字符串,oType为EA.ObjectType)作为变量

EA_QueryAvailableCompartments函数语法包含这些参数。

参数

类型

也可以看看

资料库

EA仓库

方向:IN

说明:EA.Repository对象,代表当前打开的Enterprise Architect模型。轮询其成员以检索模型数据和用户界面状态信息。

储存库类

隔间

方向:IN

说明:正在请求数据的隔离专区的名称。

图形用户界面

方向:IN

描述:正在为其请求数据的元素的GUID。

类型

对象类型

方向:IN

说明:请求其数据的元素的类型。

对象类型

返回值

包含格式化字符串的变体。此示例说明了格式:

函数EA_GetCompartmentData(存储库为EA.Repository,sCompartment为字符串,sGUID为字符串,oType为EA.ObjectType)作为变量

如果没有存储库

退出功能

万一

Dim sCompartmentData作为字符串

昏暗的oXML作为MSXML2.DOMDocument

昏暗节点为MSXML2.IXMLDOMNodeList

将Dim Node1转换为MSXML2.IXMLDOMNode

昏暗节点为MSXML2.IXMLDOMNode

Dim sData作为字符串

sCompartmentData =“”

设置oXML = New MSXML2.DOMDocument

sData =“”

错误时转到ERR_GetCompartmentData

oXML.loadXML(Repository.GetTreeXMLByGUID(sGUID))

设置Node1 = oXML.selectSingleNode(“ // ModelItem”)

如果Node1一无所有

退出功能

万一

sCompartmentData = sCompartmentData +“名称=” + sCompartment +“;”

sCompartmentData = sCompartmentData +“ OwnerGUID =” + sGUID +“;”

sCompartmentData = sCompartmentData +“ Options = SkipIfOnDiagram&_eq_ ^ 1&_sc_ ^”

选择案例专区

案例“零件”

设置节点= Node1.selectNodes(“ ModelItem(@Metatype =”“ Part”“)”)

对于节点中的每个节点

sData = sData +“ Data&_eq_ ^” + Node.Attributes.getNamedItem(“ Name”)。nodeValue +“&_sc_ ^”

sData = sData +“ GUID&_eq_ ^” + Node.Attributes.getNamedItem(“ GUID”)。nodeValue +“&_sc_ ^,”

下一个

案例“端口”

设置节点= Node1.selectNodes(“ ModelItem(@Metatype =”“ Port”“)”)

对于节点中的每个节点

sData = sData +“ Data&_eq_ ^” + Node.Attributes.getNamedItem(“ Name”)。nodeValue +“&_sc_ ^”

sData = sData +“ GUID&_eq_ ^” + Node.Attributes.getNamedItem(“ GUID”)。nodeValue +“&_sc_ ^,”

下一个

结束选择

如果没有要显示的数据,则不要返回任何隔离专区数据

如果sData <>“”然后

sCompartmentData = sCompartmentData +“ CompartmentData =” + sData +“;”

其他

sCompartmentData =“”

万一

EA_GetCompartmentData = sCompartmentData

退出功能

ERR_GetCompartmentData:

EA_GetCompartmentData =“”

结束功能