Estoy tratando de convertir mi código VBA a vb.net. Utilizo "Seleccionar por ubicación" para seleccionar todos los puntos que intersectan líneas. Luego quiero hacer clic en un botón para poner los puntos en un conjunto de selección. Luego puedo usar otros dos botones para recorrer el conjunto de selección.
Cuando intento convertir mi código sigo obteniendo el siguiente error en vb.net.:
En vb sigo obteniendo un error para 'pFeatureCursor' que dice "La variable 'pFeatureCursor' se pasa por referencia antes de que se le haya asignado un valor. Podría producirse una excepción de referencia nula en tiempo de ejecución.
Aquí está el código VBA:
Public Sub GetSelSet()
Dim pMxDoc As IMxDocument
Dim pMap As IMap
Dim pActiveView As IActiveView
Dim pFeatureLayer As IFeatureLayer
Dim pFeatureSelection As IFeatureSelection
Dim pSelectionSet As ISelectionSet
Dim pFeatureCursor As IFeatureCursor
Dim pCurFeat As IFeature
Dim intLayer As Integer
Set pMxDoc = Application.Document
Set pMap = pMxDoc.FocusMap
Set pActiveView = pMap
Set pSelSet = New esriSystem.Set
CurrentIndex = 0
For intLayer = 0 To pMap.LayerCount - 1
If TypeOf pMap.Layer(intLayer) Is IFeatureLayer Then
Set pFeatureLayer = pMap.Layer(intLayer)
If Not pFeatureLayer.FeatureClass Is Nothing Then
If pFeatureLayer.FeatureClass.featureCount(Nothing) > 0 Then
Set pFeatureSelection = pFeatureLayer
Set pSelectionSet = pFeatureSelection.SelectionSet
pSelectionSet.Search Nothing, False, pFeatureCursor
Set pCurFeat = pFeatureCursor.NextFeature
Do While Not pCurFeat Is Nothing
pSelSet.Add pCurFeat
Set pCurFeat = pFeatureCursor.NextFeature
Loop
End If
End If
End If
Next intLayer
End Sub
0 votos
Dices que el error se produce en tu código VB .Net pero has subido tu código VBA que supongo que es el código que estás tratando de convertir, ¿podrías mostrar el código que realmente está causando el mensaje de error?
1 votos
Además, ¿se trata realmente de un error y no de una ADVERTENCIA dada por visual studio?