2 votos

ArcObjects DeleteLayer dejando artefactos de capa

Estoy trabajando en un código para un botón en ArcGIS 9.2 utilizando Visual Studio 2005. El proceso agrega una capa de puntos, realiza una selección por ubicación, exporta los atributos de los puntos seleccionados y luego elimina la capa de puntos. El código que estoy usando para eliminar la capa de puntos al final del proceso es:

Dim pDL As IDataLayer2 = pPtLayer 'QI
pDL.Disconnect()
pMxDoc.FocusMap.DeleteLayer(pPtLayer)
pMxDoc.UpdateContents()
pMxDoc.ActiveView.Refresh()

Pero quedan restos de la capa de puntos una vez finalizado el proceso. En la ventana de comandos, una lista de las capas indica que todavía se hace referencia a ella. Esto hace que el botón no funcione correctamente si se utiliza varias veces en una sesión. ¿Cómo puedo eliminar la capa sin dejar estas referencias "artefacto"?

(Publicado también en http://forums.arcgis.com/threads/54771-Data-References-Remain-After-Calling-DeleteLayer )

0voto

CodeSlave Puntos 7133

Intenté obtener resultados similares en la versión 10 utilizando la herramienta Delete Tool de la caja de herramientas. Cuando se abre el cuadro de diálogo, mi archivo shape está disponible en el cuadro combinado. Mientras está abierto utilizo una herramienta que tiene un código similar al tuyo que borra la capa y refresca todo. El cuadro combinado de la herramienta de eliminación no se ha actualizado y sigue mostrando el archivo shape como disponible. Si cierro el cuadro de diálogo y lo vuelvo a abrir, el archivo shape ya no aparece.

Me pregunto si tienes que cerrar físicamente y volver a abrir la ventana de comandos. También podrías probar a guardar el mxd justo después de eliminar la capa.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X