Всем доброго времени суток.
Столкнулся с интересным багом при выполнении следующего кода:
Dim pMxDoc As IMxDocument
Dim pMap As IMap
Dim pFeature As IFeature
Dim pCollection As Collection
Dim pIFeatureCursor As IFeatureCursor
Dim pIEnumFeature As IEnumFeature
Set pCollection = New Collection
Set pMxDoc = Application.Document
Set pMap = pMxDoc.FocusMap
Set pIEnumFeature = pMap.FeatureSelection
Set pFeature = pIEnumFeature.Next
Do Until pFeature Is Nothing
If pFeature.HasOID Then
pCollection.Add pFeature.OID
End If
Set pFeature = pIEnumFeature.Next
Loop
все данные хранятся в базе данных на SQL и соответственно все имеют OID, однако если выбрано много объектов одного класса пространственных объектов, то для всех объектов этого класса pFeature.HasOID = false, а у объектов других классов (у которых выделено не много объектов) pFeature.HasOID = true.
И соответственно вопрос в том куда пропадает OID и как его получить? Может кто сталкивался с таким случаем?