如何使用VARIANT的指针?

strangecat 2000-06-27 11:03:00
我的程序使用IE控件,该控间中的一个消息处理函数
OnBeforeNavigate2
中的一个参数是用VARIANT定义的,具体为VARIANT FAR* PostData,
我应该怎么使用这个VARIANT指针来得到具体的数据呢?
...全文
419 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangzj_zy 2001-10-18
  • 打赏
  • 举报
回复
如果我要写一个组件,他将使用VARIANT* pPostdata来获取外部的数据,而且是一个二进制数据数组,现在我能够得到他的数据。当我处理之后,也要使用VARIANT* p指针将处理的结果以一定的格式(二进制数据)显示出来。可是当我使用VARIANT* p的时候,只能够在使用VARIANT*中的SAFEARRAY结构才能得到,并且一定要p->vt = VT_ARRAY|VT_UI1才行,这是什么原因呢?望复。
jy 2000-06-29
  • 打赏
  • 举报
回复
都同意。的确没法子,只有看看MSDN。

假定涉及到的(通常也是如此)是一个BSTR,那么你可以使用CBstr类,这是从__bstr_t上扩充出来的一个类似于CString的封装。原作者Gary Olliffe,我也做了一点更新:
http://jy.unika.net/dl/ole/fly_cbstr.h
http://jy.unika.net/dl/ole/fly_cbstrimplement.h(是类的实现文件,不必手工再包含它,前面fly_cbstr.h会装入它)
xielm 2000-06-28
  • 打赏
  • 举报
回复
"VARIANT"為關鍵字,MSDN中很詳盡
strangecat 2000-06-28
  • 打赏
  • 举报
回复
请仁兄推荐点资料.咱好研究一下.
weixiande 2000-06-28
  • 打赏
  • 举报
回复
VARIANT 可是OLE的核心,师兄一定要深入研究一下。如果是PostData->vtType == BSTR
还好说,如果是“安全数组”那你惨了!

16,466

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • Web++
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

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