How to get the Features of FeatureCursor?

المشرف العام

Administrator
طاقم الإدارة
Help me please in using IFeatureCursor.NextFeature method.

I've selected a few features:



I need to assigne the selected features into few pFeature variables (pFeature1, pFeature2, pFeature3)

The code below seems to be the solution, but it doesnt.

Dim pMxDoc As IMxDocumentDim pFeatureLayer As IFeatureSelectionDim pFeatureSelection As ISelectionSetDim pFeatureCursor1 As IFeatureCursorDim pFeature1 As IFeatureDim pFeature2 As IFeatureDim pFeature3 As IFeatureSet pMxDoc = ThisDocumentSet pFeatureLayer = pMxDoc.FocusMap.Layer(0)Set pFeatureSelection = pFeatureLayer.SelectionSetpFeatureSelection.Search Nothing, True, pFeatureCursor1Set pFeature1 = pFeatureCursor1.NextFeatureSet pFeature2 = pFeatureCursor1.NextFeatureSet pFeature3 = pFeatureCursor1.NextFeatureMsgBox pFeature1.Value(2) & pFeature2.Value(2) & pFeature3.Value(2)To check the result I used a MsgBox containing the value of "NAME_MST" field.



I can't explain it, but every PFeature contains the last Feature of pFeatureCursor.

To solve this problem I have to write a preposterous code as shown below (by using a few pFeatureCursors).

Dim pMxDoc As IMxDocumentDim pFeatureLayer As IFeatureSelectionDim pFeatureSelection As ISelectionSetDim pFeatureCursor1 As IFeatureCursorDim pFeatureCursor2 As IFeatureCursorDim pFeatureCursor3 As IFeatureCursorDim pFeature1 As IFeatureDim pFeature2 As IFeatureDim pFeature3 As IFeatureSet pMxDoc = ThisDocumentSet pFeatureLayer = pMxDoc.FocusMap.Layer(0)Set pFeatureSelection = pFeatureLayer.SelectionSetpFeatureSelection.Search Nothing, True, pFeatureCursor1pFeatureSelection.Search Nothing, True, pFeatureCursor2pFeatureSelection.Search Nothing, True, pFeatureCursor3Set pFeature1 = pFeatureCursor1.NextFeatureSet pFeature2 = pFeatureCursor2.NextFeatureSet pFeature2 = pFeatureCursor2.NextFeatureSet pFeature3 = pFeatureCursor3.NextFeatureSet pFeature3 = pFeatureCursor3.NextFeatureSet pFeature3 = pFeatureCursor3.NextFeatureMsgBox pFeature1.Value(2) & pFeature2.Value(2) & pFeature3.Value(2)

The result is correct but I don't like the way I've reached it. What do I do wrong in first code?



أكثر...
 
أعلى