laptop and a wrench

漏洞

IPersistStream::Load crashes arcmap when persisting renderers that contain picturemarkersymbols are used.

上次发布: August 25, 2014 No Product Found
漏洞 ID 编号 NIM006132
已提交January 17, 2007
上次修改时间June 5, 2024
适用范围No Product Found
找到的版本9.2
编程语言VBA
状态Non-Reproducible

附加信息

No Public Explanation

解决办法

XML Serilization seems to work with renderers that contain picture*symbols.Public Sub SaveRendererToXML()On Error GoTo EH:Dim mxDoc As IMxDocumentSet mxDoc = ThisDocumentDim gfLayer As IGeoFeatureLayerSet gfLayer = mxDoc.FocusMap.Layer(0)Dim fRenderer As IFeatureRendererSet fRenderer = gfLayer.Renderer'*** Create XmlStream and XmlWriter ***Dim pStream As IXMLStreamSet pStream = New XMLStreamDim pWriter As IXMLWriterSet pWriter = New xmlWriterpWriter.WriteTo pStream'*** Create XmlSerializer ***Dim pSerializer As IXMLSerializerSet pSerializer = New XMLSerializerpSerializer.WriteObject pWriter, Nothing, Nothing, "", "", fRenderer'*** Save stream as an xml ***pStream.SaveToFile (xmlPath)Exit SubEH:MsgBox Err.Number & vbCrLf & Err.DescriptionEnd SubPublic Sub ReadRendererFromXML()On Error GoTo EH:'*** Deserialzation of string ***Dim pStream2 As IXMLStreamSet pStream2 = New XMLStreampStream2.LoadFromFile (xmlPath)'*** Create XmlReader and pass stream ***Dim pReader As IXMLReaderSet pReader = New XMLReaderpReader.ReadFrom pStream2'*** Create XmlSerializer and Read Object ***Dim pSerializer2 As IXMLSerializerSet pSerializer2 = New XMLSerializerDim r As IFeatureRendererSet r = pSerializer2.ReadObject(pReader, Nothing, Nothing)Dim mxDoc As IMxDocumentSet mxDoc = ThisDocumentDim gfLayer As IGeoFeatureLayerSet gfLayer = mxDoc.FocusMap.Layer(0)Set gfLayer.Renderer = rmxDoc.ActiveView.RefreshmxDoc.CurrentContentsView.Refresh NothingExit SubEH:MsgBox Err.Number & vbCrLf & Err.DescriptionEnd Sub

重现步骤

漏洞 ID: NIM006132

软件:

  • No Product Found

当漏洞状态发生变化时获得通知

下载 Esri 支持应用程序

发现关于本主题的更多内容

获取来自 ArcGIS 专家的帮助

联系技术支持部门

下载 Esri 支持应用程序

转至下载选项