(2012-03-05 12:39:37 отредактировано Luck)

Перебор ключей.

Необходимо перебрать все доступные ключи и прочитать что-нибудь из них.

Можно ли делать так?

GrdSetFindMode(FindParams)
GrdFind(GrdF_First, FindInfo)

do {
  GrdSetFindMode(FindParams + FindInfo.dwId)
    GrdLogin(...)
      GrdRead() etc.
    GrdLogout()
  GrdSetFindMode(FindParams)

} while GrdFind(GrdF_Next, FindInfo)

Смущает, что в руководстве сказано, что
1) GrdFind необходимо вызывать в рамках блока инициализации, до вызова GrdLogin. При попытке вызова GrdFind на залогиненном хэндле будет возвращена ошибка GrdE_NeedLogout.

2) GrdSetFindMode необходимо вызывать в рамках блока инициализации, до вызова GrdLogin. При попытке вызова GrdSetFindMode на залогиненном хэндле будет возвращена ошибка GrdE_NeedLogout.

Но ничего не сказано, можно ли вызывать GrdLogin/GrdLogout между вызовами GrdFind?
Можно ли вызывать GrdSetFindMode между вызовами GrdFind? Не испортит ли это процесс поиска, будут ли так найдены все ключи.

Конечно, можно сначала перебрать все ключи в простом цикле GrdFind(GrdF_First/Next), запомнить их ID, а затем во втором цикле перебирать ID и последовательно логиниться к этим ключам. Но это крайний случай, хотелось бы сделать это в одном цикле.

Re: Перебор ключей.

Здравствуйте.

Подобная схема не противоречит логике работы API с ключом и в документации соответственно никак не запрещается. В нормальном случае все должно отрабатывать правильно.

(2013-02-05 19:28:30 отредактировано AleksFresh)

Re: Перебор ключей.

Должно правильно работать
_________________
http://pdafon.com/programmi-dly-android-os/ переходим по ссылке и скачиваем бесплатно программы для android.