RAD — VC++6.0
OS — Win2k server
MDAC самый последний
Проблема состоит в следующем — есть коллекция (CubeDefs из ADOMD (msadomd).dll)
Свойство count возвращает например 3. Тогда при попытке GetItem(_variant_t(i)) генерится исключение —
"Item cannot be found in the collection corresponding to the requested name
or ordinal", хотя i лежит в пределах 0..2 .При доступе к объектам по именам проблем нет. На VB все работает ...
Вот код —
try
{
connection->Open("PROVIDER=MSOLAP; DATA SOURCE=LOCALHOST","","",-1);
connection->put_DefaultDatabase(_bstr_t("FoodMart 2000"));
catalog->putref_ActiveConnection(connection.GetInterfacePtr());
catalog->get_CubeDefs(&cube_defs);
icount=cube_defs->Count;
for(int i=0; i<icount; i++)
{
cube_def=cube_defs->GetItem(_variant_t(i)); // генерится исключение! Почему ??!
// cube_def=cube_defs->GetItem(_variant_t("Sales")); // все работает
}
}
Я в шоке, даже и не представляю в чем проблема, ведь аналогичный код на VB работает !
Помогите пожалуйста !!!