<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Problem with saving edits when new features are added to a dataset in ArcObjects SDK Questions</title>
    <link>https://community.esri.com/t5/arcobjects-sdk-questions/problem-with-saving-edits-when-new-features-are/m-p/99512#M2639</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using some VBA code that I found on here that will convert selected graphics on a map to features and then add those new features to an existing dataset. Once an edit session is open, the code gets the selected graphics, starts an edit operation, adds the new features, and then stops the edit operation. The code works well and does exactly what I need it to do, but there is a problem. Every time I go and manually save new features that were added to the dataset, the Save Edits process gets slower and slower every time the command it run. Eventually, the save process slows to such a crawl that I have to end the process by shutting down the Mx document.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I wonder if this is some kind of memory issue because when I open up the map document again then saving edits starts out fast, but then the process starts to slow again after saving a few times. I've tried to free up some of the objects after executing the code, but to no avail. Does anyone have ideas why it's doing this? I've attached the code below. Thanks, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
Private Sub UIButtonControl1_Click()

&amp;nbsp; Dim pMxApp As IMxApplication
&amp;nbsp; Dim pMxDoc As IMxDocument
&amp;nbsp; Dim pID As New UID
&amp;nbsp; Dim pEditor As IEditor
&amp;nbsp; Dim pGraphicsContainer As IGraphicsContainer
&amp;nbsp; Dim pGraphContSel As IGraphicsContainerSelect
&amp;nbsp; 
&amp;nbsp; Set pMxApp = Application
&amp;nbsp; Set pMxDoc = ThisDocument
&amp;nbsp; pID = "esriEditor.Editor"&amp;nbsp; 'version 9.0 compatible.&amp;nbsp; Previously:&amp;nbsp; PID = "esriCore.Editor"
&amp;nbsp; Set pEditor = Application.FindExtensionByCLSID(pID)
&amp;nbsp; Set pGraphicsContainer = pMxDoc.FocusMap
&amp;nbsp; Set pGraphContSel = pGraphicsContainer
&amp;nbsp; 
&amp;nbsp; Dim pEditLayers As IEditLayers
&amp;nbsp; Dim pFeatureLayer As IFeatureLayer
&amp;nbsp; Set pEditLayers = pEditor
&amp;nbsp; Set pFeatureLayer = pEditLayers.CurrentLayer
&amp;nbsp; 
&amp;nbsp; Dim pGraphicElementEnum As IEnumElement
&amp;nbsp; Set pGraphicElementEnum = pGraphContSel.SelectedElements&amp;nbsp; 'get selected graphics
&amp;nbsp; 
&amp;nbsp; pGraphicElementEnum.Reset
&amp;nbsp; 
&amp;nbsp; Dim pElement As IElement
&amp;nbsp; Set pElement = pGraphicElementEnum.Next
&amp;nbsp; 
&amp;nbsp; 'check if edit session is present
&amp;nbsp; If Not pEditor.EditState = esriStateEditing Then
&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox "You must start an edit session before using this tool.", vbExclamation, "Editing must be enabled"
&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
&amp;nbsp; End If
&amp;nbsp; 
&amp;nbsp; 'check if graphics are selected
&amp;nbsp; If pElement Is Nothing Then
&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox "Please select a graphic to save", vbExclamation, "Select graphic(s) to save"
&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; pEditor.StartOperation
&amp;nbsp; 
&amp;nbsp; On Error GoTo Error_Handler
&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While Not pElement Is Nothing&amp;nbsp; 'loop through the graphics
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pGeom As IGeometry
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pGeom = pElement.Geometry
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pGeom.GeometryType = pFeatureLayer.FeatureClass.ShapeType Then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'geometry types of graphic and output feature layer are the same
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFeature As IFeature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFeature = pFeatureLayer.FeatureClass.CreateFeature 'create new output feature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pGeoDef As IGeometryDef
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pZAw As IZAware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMAw As IMAware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFld As Long
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFld = pFeatureLayer.FeatureClass.FindField(pFeatureLayer.FeatureClass.ShapeFieldName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'find Geometry field
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pGeoDef = pFeatureLayer.FeatureClass.Fields.Field(pFld).GeometryDef
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pZAw = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pGeoDef.HasZ Then&amp;nbsp;&amp;nbsp; 'Test if output layer is Z aware.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'The Z values of points and polyline/polygon vertices need to be set to zero,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'or an error will result when feature is saved to the output feature class
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pZAw.ZAware = True&amp;nbsp; 'make feature Z aware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pGeom.GeometryType &amp;lt;&amp;gt; esriGeometryPoint Then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'problem: Points do not implement the IZ interface and must be treated differently
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pZ As IZ
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pZ = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pZ.SetConstantZ 0&amp;nbsp; 'set all Z values of vertices to zero
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'point features need to have their Z values set to zero
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pPt As esriGeometry.IPoint&amp;nbsp; 'changed from version 8.3, previously esriCore.IPoint
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pPt = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pPt.Z = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMAw = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pGeoDef.HasM Then&amp;nbsp;&amp;nbsp;&amp;nbsp; 'test if output feature class has M values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMAw = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pMAw.MAware = True&amp;nbsp;&amp;nbsp;&amp;nbsp; 'make new feature M aware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'store new feature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFeature.Shape = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFeature.Store

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'delete the graphic element after it has been converted to a feature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pGraphicsContainer.DeleteElement pElement
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pElement = pGraphicElementEnum.Next
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop
&amp;nbsp; 
&amp;nbsp; pEditor.StopOperation "Convert Features from Graphics"&amp;nbsp; 'allows ability to "undo" edits
&amp;nbsp; pMxDoc.ActiveView.Refresh
&amp;nbsp; 
&amp;nbsp; Exit Sub
&amp;nbsp; 
Error_Handler:
&amp;nbsp; pEditor.AbortOperation
&amp;nbsp; MsgBox Err.Description

End Sub

&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 24 Aug 2010 11:59:55 GMT</pubDate>
    <dc:creator>MatthewJones2</dc:creator>
    <dc:date>2010-08-24T11:59:55Z</dc:date>
    <item>
      <title>Problem with saving edits when new features are added to a dataset</title>
      <link>https://community.esri.com/t5/arcobjects-sdk-questions/problem-with-saving-edits-when-new-features-are/m-p/99512#M2639</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;Hello, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using some VBA code that I found on here that will convert selected graphics on a map to features and then add those new features to an existing dataset. Once an edit session is open, the code gets the selected graphics, starts an edit operation, adds the new features, and then stops the edit operation. The code works well and does exactly what I need it to do, but there is a problem. Every time I go and manually save new features that were added to the dataset, the Save Edits process gets slower and slower every time the command it run. Eventually, the save process slows to such a crawl that I have to end the process by shutting down the Mx document.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I wonder if this is some kind of memory issue because when I open up the map document again then saving edits starts out fast, but then the process starts to slow again after saving a few times. I've tried to free up some of the objects after executing the code, but to no avail. Does anyone have ideas why it's doing this? I've attached the code below. Thanks, &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;PRE class="plain" name="code"&gt;
Private Sub UIButtonControl1_Click()

&amp;nbsp; Dim pMxApp As IMxApplication
&amp;nbsp; Dim pMxDoc As IMxDocument
&amp;nbsp; Dim pID As New UID
&amp;nbsp; Dim pEditor As IEditor
&amp;nbsp; Dim pGraphicsContainer As IGraphicsContainer
&amp;nbsp; Dim pGraphContSel As IGraphicsContainerSelect
&amp;nbsp; 
&amp;nbsp; Set pMxApp = Application
&amp;nbsp; Set pMxDoc = ThisDocument
&amp;nbsp; pID = "esriEditor.Editor"&amp;nbsp; 'version 9.0 compatible.&amp;nbsp; Previously:&amp;nbsp; PID = "esriCore.Editor"
&amp;nbsp; Set pEditor = Application.FindExtensionByCLSID(pID)
&amp;nbsp; Set pGraphicsContainer = pMxDoc.FocusMap
&amp;nbsp; Set pGraphContSel = pGraphicsContainer
&amp;nbsp; 
&amp;nbsp; Dim pEditLayers As IEditLayers
&amp;nbsp; Dim pFeatureLayer As IFeatureLayer
&amp;nbsp; Set pEditLayers = pEditor
&amp;nbsp; Set pFeatureLayer = pEditLayers.CurrentLayer
&amp;nbsp; 
&amp;nbsp; Dim pGraphicElementEnum As IEnumElement
&amp;nbsp; Set pGraphicElementEnum = pGraphContSel.SelectedElements&amp;nbsp; 'get selected graphics
&amp;nbsp; 
&amp;nbsp; pGraphicElementEnum.Reset
&amp;nbsp; 
&amp;nbsp; Dim pElement As IElement
&amp;nbsp; Set pElement = pGraphicElementEnum.Next
&amp;nbsp; 
&amp;nbsp; 'check if edit session is present
&amp;nbsp; If Not pEditor.EditState = esriStateEditing Then
&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox "You must start an edit session before using this tool.", vbExclamation, "Editing must be enabled"
&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
&amp;nbsp; End If
&amp;nbsp; 
&amp;nbsp; 'check if graphics are selected
&amp;nbsp; If pElement Is Nothing Then
&amp;nbsp;&amp;nbsp;&amp;nbsp; MsgBox "Please select a graphic to save", vbExclamation, "Select graphic(s) to save"
&amp;nbsp;&amp;nbsp;&amp;nbsp; Exit Sub
&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp; pEditor.StartOperation
&amp;nbsp; 
&amp;nbsp; On Error GoTo Error_Handler
&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Do While Not pElement Is Nothing&amp;nbsp; 'loop through the graphics
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pGeom As IGeometry
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pGeom = pElement.Geometry
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pGeom.GeometryType = pFeatureLayer.FeatureClass.ShapeType Then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'geometry types of graphic and output feature layer are the same
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFeature As IFeature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFeature = pFeatureLayer.FeatureClass.CreateFeature 'create new output feature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pGeoDef As IGeometryDef
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pZAw As IZAware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pMAw As IMAware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pFld As Long
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFld = pFeatureLayer.FeatureClass.FindField(pFeatureLayer.FeatureClass.ShapeFieldName)
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'find Geometry field
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pGeoDef = pFeatureLayer.FeatureClass.Fields.Field(pFld).GeometryDef
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pZAw = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pGeoDef.HasZ Then&amp;nbsp;&amp;nbsp; 'Test if output layer is Z aware.
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'The Z values of points and polyline/polygon vertices need to be set to zero,
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'or an error will result when feature is saved to the output feature class
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pZAw.ZAware = True&amp;nbsp; 'make feature Z aware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pGeom.GeometryType &amp;lt;&amp;gt; esriGeometryPoint Then
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'problem: Points do not implement the IZ interface and must be treated differently
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pZ As IZ
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pZ = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pZ.SetConstantZ 0&amp;nbsp; 'set all Z values of vertices to zero
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Else
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'point features need to have their Z values set to zero
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Dim pPt As esriGeometry.IPoint&amp;nbsp; 'changed from version 8.3, previously esriCore.IPoint
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pPt = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pPt.Z = 0
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMAw = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; If pGeoDef.HasM Then&amp;nbsp;&amp;nbsp;&amp;nbsp; 'test if output feature class has M values
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pMAw = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pMAw.MAware = True&amp;nbsp;&amp;nbsp;&amp;nbsp; 'make new feature M aware
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'store new feature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pFeature.Shape = pGeom
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pFeature.Store

&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 'delete the graphic element after it has been converted to a feature
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; pGraphicsContainer.DeleteElement pElement
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; End If
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Set pElement = pGraphicElementEnum.Next
&amp;nbsp;&amp;nbsp;&amp;nbsp; 
&amp;nbsp;&amp;nbsp;&amp;nbsp; Loop
&amp;nbsp; 
&amp;nbsp; pEditor.StopOperation "Convert Features from Graphics"&amp;nbsp; 'allows ability to "undo" edits
&amp;nbsp; pMxDoc.ActiveView.Refresh
&amp;nbsp; 
&amp;nbsp; Exit Sub
&amp;nbsp; 
Error_Handler:
&amp;nbsp; pEditor.AbortOperation
&amp;nbsp; MsgBox Err.Description

End Sub

&lt;/PRE&gt;&lt;DIV style="display:none;"&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 24 Aug 2010 11:59:55 GMT</pubDate>
      <guid>https://community.esri.com/t5/arcobjects-sdk-questions/problem-with-saving-edits-when-new-features-are/m-p/99512#M2639</guid>
      <dc:creator>MatthewJones2</dc:creator>
      <dc:date>2010-08-24T11:59:55Z</dc:date>
    </item>
  </channel>
</rss>

