紧急求救!!(关于SAFEARRAY 和 ADO MD)

Ausun 2000-03-25 01:09:00
最近编程用到M$的ADO MD控件,将他Import到一个library中后,系统生成了一个头文件,包含了ADO MD中各组件的定义,其中CellSet的Item函数的定义是这样的:
virtual HRESULT STDMETHODCALLTYPE get_Item(LPSAFEARRAY* idx/*[in]*/,
Adomd_tlb::Cell** ppvObject/*[out,retval]*/) = 0; // [0]
不知道参数idx该怎样生成,我用了以下的方法,却返回错误(0x80020009)。
Adomd_tlb::Cell* cell;
LPSAFEARRAY psa;
SAFEARRAYBOUND sab[1];
sab[0].lLbound = 0;
sab[0].cElements = 1;
psa = SafeArrayCreate(VT_VARIANT, 1, sab); // VT_I4也用过,结果相同
TVariant data[1] = {0}; // get the 1st item
long ix[1] = {0};
HRESULT h = SafeArrayPutElement(psa, ix, data); // returns 0
h = m_pCellset->get_Item(&sa, &cell); // returns 0x80020009

那位大侠知道请速告知,谢谢!
急!!!
...全文
201 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
Axiong 2000-11-01
  • 打赏
  • 举报
回复
我在import时就报编译错!!
大家一起来攻克难关。!!!

能告诉我你们的进度。如果基本上可以用了。我可以找微软问问题。我才问了刚才的问题。但我不想浪费问一个问题。我只能问20个问题!!
我的邮件是wishful@163.net
我们可以多联系。
zouguangxian 2000-09-24
  • 打赏
  • 举报
回复
我也遇到这个麻烦了。:(
Un1 2000-03-25
  • 打赏
  • 举报
回复
是应该还是比笔误:
h = m_pCellset->get_Item(psa, &cell);

69,336

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧