IFeatureCursor

0 голосов
спросил 12 Окт, 04 от Гость (210,080 баллов) в категории Программные продукты Esri

Уважаемые!  Требуется несколько раз в цикле просмотреть содержимое pFeatureClass. Не подскажите как повторно использовать feature cursor после просмотра всех записей во внутреннем цикле, т.е заново начать просмотр с нулевой записи?

Текст приведен не полностью , но надеюсь вопрос понятен. 

Dim MyFeature As IFeature
Dim SearchCursor As IFeatureCursor

Set SearchCursor = pFeatureClass.Search(Nothing, True)

Set MyFeature = SearchCursor.NextFeature

While Rnd < val_cnt

Do While Not (MyFeature Is Nothing)
Wintercol = MyFeature.Value(MyFeature.Fields.FindField("One"))
Summercol = MyFeature.Value(MyFeature.Fields.FindField("Two"))
Set MyFeature = SearchCursor.NextFeature
Loop

Rnd = Rnd + 1

Wend

Спасибо за любые советы.

5 Ответы

0 голосов
ответил 12 Окт, 04 от Alexander1 (32,520 баллов)
Лучше всего создать функцию, которая при вызове с параметром FeatureCursor будет возвращать ISet объект.
ISet имеет Count Property и Reset Method. Очень удобно.
0 голосов
ответил 13 Окт, 04 от Гость (210,080 баллов)
Спасибо. Попробую. Если не сложно, можно несколько поподробнее об  использовании ISet - что это за "зверь" такой, судя по названию он наверное работает со множествами. 
0 голосов
ответил 13 Окт, 04 от Alexander1 (32,520 баллов)
Проще всего посмотреть описание ISet Interface в ArcObjects Developer Help.
Да и примеры есть по использованию этого интерфейса.
0 голосов
ответил 15 Окт, 04 от Tatkis (2,420 баллов)

А разве команда FeatureCursor.Flush не для этого предназначена?

Я всегда ее использую для перехода на первую запись

0 голосов
ответил 15 Окт, 04 от Alexander1 (32,520 баллов)

Flush Method

Flush any outstanding buffered writes to the database.

Добро пожаловать на сайт Вопросов и Ответов, где вы можете задавать вопросы по GIS тематике и получать ответы от других членов сообщества.
...