苯办法,一个一个的输出~~~~>_<~~~~:
UINT IGetUnitsCount();
BSTR  IGetUnit(UINT uIndex);
for(UINT i=0;i<IGetUnitsCount();i++)
{
   ....
}

解决方案 »

  1.   

    可以具体说说SAFEARRAY的使用方法吗?
      

  2.   

    SAFEARRAYBOUND pSab[1];
    pSab[0].lLbound = 0;
    pSab[0].cElements = count;SAFEARRAY *pSa;
    pSa = SafeArrayCreate(VT_BSTR, 1, pSab);
    if(pSa != NULL)
    {
    BSTR *pData;
    SafeArrayAccessData(pSa, (void **)&pData); pData[0] = CString(buffer).AllocSysString(); char *pTemp = buffer;
    for(int i = 1; i < count; i++)
    {
    while(*pTemp != 0) pTemp++;
    pData[i] = CString(++pTemp).AllocSysString();
    } SafeArrayUnaccessData(pSa); pVal->parray = pSa;
    return S_OK;
    }这是一惟的情况,二维前面改为
    SAFEARRAYBOUND pSab[2];
    pSab[0].lLbound = 0;
    pSab[0].cElements = count1;
    pSab[1].lLbound = 0;
    pSab[2].cElements = count2;自己看看书和帮助吧,慢慢来。