给欧讲讲safearry的用法 基本用法 如 建立 绑定 插入 取出。。
解决方案 »
- 什么影响了sendto()的性能
- 发现帖子上没有广告遮住字了
- 求助!Debug Assertion Failed! winocc.cpp line209
- 最小二乘曲线拟合
- 模板类的模板成员函数是否支持显示具体化?
- FormView上添加了一个RichText控件,并添加如下代码,准备打开word文档,不行,但打开txt文档可以。为何?
- 结构体凋用问题!!!!!!
- 有没有一个比较方便的求指定目录下所有文件总数的方法
- =======超级简单问题==============
- 请教各位大虾 AFX_EXT_CLASS 宏的用法,谢谢,(我的手都跑到下水道里了)。
- 请教ListView高手,有意思的问题
- 请大家进来讨论一下北大青鸟
其中vt是safearray中要保存数据的类型,如VT_I2, VT_I4等
Dims是数组的维数
rgsabound是数组每一维的定义
SAFEARRAYBOUND的结构如下:
typedef struct tagSAFEARRAYBOUND {
unsigned long cElements;
long lLbound;
} SAFEARRAYBOUND;
其中cElements为该维的元素个数,lLbound是数组的起始下标。
举例建立一个10个BYTE元素的数组:
SAFEARRRY* psa;
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].cElements = 10;
rgsabound[0].lLbound = 0;
psa = SafeArrayCreate(VT_UI1, 1, rgsabound);
if (psa == NULL)
{
// 创建出错处理
}2.给某个元素赋值
SafeArrayPutElement3.绑定
不知道你指的是什么。4.销毁
使用完毕后应该调用SafeArrayDestroy来释放safearray,除非你讲这个safearray传递给别的过程或者其他程序,有别的过程或程序负责销毁。其他还有几个关于SafeArray的操作函数,具体参见MSDN