ATL返回二维数组问题!!!!!!!
return new VBArray(oHaiKey.test4()).toArray();
此处报错:缺少 VBArray
什么原因呢?
以下是test4()实现源码:
STDMETHODIMP MyClass::test4(VARIANT *pArray)
{
AFX_MANAGE_STATE(AfxGetStaticModuleState())
// TODO: Add your implementation code here
AfxMessageBox("test4!");
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")));
pArray->vt=VT_ARRAY|VT_BSTR;
pArray->parray = sa;
SafeArrayDestroy(sa);
return S_OK;
}
请高手指教。