佚名通过本文主要向大家介绍了vb variant,vb variant类型,vb中variant,vc variant,vc variant t等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
问题: VB 写的ActiveX中函数使用了Variant 参数,vc如何调用?
描述:
解决方案1:
描述:
VB 写的ActiveX中函数使用了Variant 参数,vc如何调用?
ActiveX中的这个函数实际返回的是一个variant数组,长度不确定,请问我在vc中调用时应该
使用的参数类型是什么?我使用VARIANT时,总是报告参数类型不正确。
谢谢!
解决方案1:
VARIANT obj;
pSoftbus.GetDataObject( "测试库", "D001", &obj );
ASSERT(obj.vt == VT_ARRAY|VT_DOUBLE));
SAFEARRAY *psa = obj.parray;
double* pd;
SafeArrayAccessData(psa, (void**)&pd);
double dv = pd[7];
SafeArrayUnaccessData(psa):
CString str;
str.Format( "Value is: %f", dv );
AfxMessageBox( str );
你可以对这个variant进行操作啊
1、variant本身包含一种SafeArray。具体,你可以看看variant定义,及相关的api函数
2、可以用COleSafeArray包装variant,然后调用COleSafeArray的成员函数。