我用C#写了一个com组件,里面有一个函数的参数是字符数组,想在VC中调用此COM组件的函数,请问如何在VC中定义一个safearray字符数组,从而把这个数组作为参数传递过去?如果直接传CString数组出错:
cannot convert parameter 11 from 'CString [100]' to 'SAFEARRAY *请大侠们指点下
cannot convert parameter 11 from 'CString [100]' to 'SAFEARRAY *请大侠们指点下
SAFEARRAYBOUND rgsabound[1];
rgsabound[0].cElements =num;
rgsabound[0].lLbound = 0;
psa = SafeArrayCreate(VT_BSTR,1,rgsabound);
for(long index=0;index<num;index++)
{
if(FAILED(SafeArrayPutElement(psa,&index,&bVal[index])))
::MessageBox(NULL,"bug!!","提示",MB_OK | MB_ICONWARNING);
}