电商网站建设与运行,内江网站建设公司,梅龙高速施工企业,怎样制作企业的网站From: http://blog.csdn.net/absurd/article/details/786822 SAFEARRAY使用方法示例 SAFEARRAY不是很好用#xff0c;一些函数不太直观#xff0c;一不小心就着了它的道。上次学习编写Google桌面插件时就遇到了麻烦#xff0c;本来应该是vsa.vt VT_ARRAY | VT_BSTR#xf…From: http://blog.csdn.net/absurd/article/details/786822 SAFEARRAY使用方法示例 SAFEARRAY不是很好用一些函数不太直观一不小心就着了它的道。上次学习编写Google桌面插件时就遇到了麻烦本来应该是vsa.vt VT_ARRAY | VT_BSTR结果写成了vsa.vt VT_ARRAY让我查了好久才找到原因。这里整理一下作为备忘。 l 创建 long i 0; VARIANT va {0}; va.vt VT_BSTR; SAFEARRAYBOUND bounds[1] {0}; bounds[0].cElements 5; SAFEARRAY* psa SafeArrayCreate(VT_VARIANT, 1, bounds); l 存入元素 for(i 0; i 5; i) { va.bstrVal SysAllocString(Ltest); SafeArrayPutElement(psa, i, va); } l 获取元素 for(i 0; i 5; i) { va.bstrVal SysAllocString(Ltest); SafeArrayGetElement(psa, i, va); SysFreeString(va.bstrVal); } l 销毁 SafeArrayDestroy(psa); l 生成VARIANT变量 VARIANT vsa {0}; vsa.vt VT_ARRAY | VT_BSTR; vsa.parray psa;