Перебор ключей.
Необходимо перебрать все доступные ключи и прочитать что-нибудь из них.
Можно ли делать так?
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 и последовательно логиниться к этим ключам. Но это крайний случай, хотелось бы сделать это в одном цикле.