前页 | 后页 |
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 =“”
结束功能