чтение информации о layer

0 голосов
спросил 25 Сен, 06 от Wonka (200 баллов) в категории Программные продукты Esri
    Помогите чайнику!
Проблема в следующем: пользователь на карте отмечает города, мне требуется получить данные из поля 'objectid' о выбранных городах. Где-то в просторах интернета нашел пример (см.ниже). Однако 'feat.Value(index)' ничего не возвращает (точнее возвращает Nothing). Хотя функция 'feat.Fields.FindField("OBJECTID") прекрастно работает, и возвращает нужное значение.
'
Public Sub SelectOnMap()

Dim g_Map As Map
Dim mxDoc As IMxDocument
Dim index As Long
Dim activeView As IActiveView
Dim featureEnum As IEnumFeature
Dim feat As IFeature

    Set mxDoc = Application.Document
    Set g_Map = mxDoc.FocusMap
    Set activeView = g_Map
    

    Set featureEnum = activeView.Selection
    If featureEnum Is Nothing Then Exit Sub
    featureEnum.Reset
    Set feat = featureEnum.Next
    
    Do While Not feat Is Nothing

        index = feat.Fields.FindField("OBJECTID")
        If index <> -1 Then
            MsgBox "index = '" & index & "' Value = '" & feat.Value(index) & "'"
        End If
        Set feat = featureEnum.Next
    Loop

End Sub

3 Ответы

0 голосов
ответил 09 Окт, 06 от Grigoriy (127,020 баллов)

А объект в активном слое выделить не пробовали?

 

0 голосов
ответил 10 Окт, 06 от Wonka (200 баллов)
пробовал, в том и проблема что не работает, как ни странно
0 голосов
ответил 24 Янв, 07 от Wonka (200 баллов)
помогите пожалуйста...
Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...