C++中的接口:
VARIANT varValue;
VARIANT CExtFuncs::_GetSubsystems()
{
VariantInit(&varValue); SAFEARRAY* sa;
sa = SafeArrayCreateVector(VT_BSTR, 0, 3); long ind[1];
ind[0]=0;
SafeArrayPutElement(sa, ind, SysAllocString(OLESTR("000000001")));
ind[0]=1;
SafeArrayPutElement(sa, ind, SysAllocString(OLESTR("11100002")));
ind[0]=2;
SafeArrayPutElement(sa, ind, SysAllocString(OLESTR("22200003"))); varValue.vt = VT_ARRAY|VT_BSTR;
varValue.parray = sa;
return varValue;
}
VBS中调用:
Dim c
c = GetSubsystems
MsgBox Lbound(c) & ":" & Ubound(c)//1.此处现实的数组下限是0,上限是2,应该是3啊???
MsgBox c(0)//2.此处无法显示数组中的值???
那位高人帮助指点一下???
VARIANT varValue;
VARIANT CExtFuncs::_GetSubsystems()
{
VariantInit(&varValue); SAFEARRAY* sa;
sa = SafeArrayCreateVector(VT_BSTR, 0, 3); long ind[1];
ind[0]=0;
SafeArrayPutElement(sa, ind, SysAllocString(OLESTR("000000001")));
ind[0]=1;
SafeArrayPutElement(sa, ind, SysAllocString(OLESTR("11100002")));
ind[0]=2;
SafeArrayPutElement(sa, ind, SysAllocString(OLESTR("22200003"))); varValue.vt = VT_ARRAY|VT_BSTR;
varValue.parray = sa;
return varValue;
}
VBS中调用:
Dim c
c = GetSubsystems
MsgBox Lbound(c) & ":" & Ubound(c)//1.此处现实的数组下限是0,上限是2,应该是3啊???
MsgBox c(0)//2.此处无法显示数组中的值???
那位高人帮助指点一下???
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货