Как передать массив строк в VB?
Есть такой код сервера (С++):
STDMETHODIMP CSomeManObj::EnumSome(VARIANT* psaSome)
{
VARIANT theArray;
SAFEARRAY* pSA;
SAFEARRAYBOUND bound[1];
CComBSTR bstrSomes[2] = {L"Element number 1", L"Element number 2"};
bound[0].lLbound = 0;
bound[0].cElements = 2;
pSA = SafeArrayCreate(VT_BSTR, 1, bound);
for (int i = 0; i < 2; i++)
SafeArrayPutElement(pSA, (LONG*)&i, bstrSome[i]);
VariantInit(&theArray);
theArray.vt = VT_DISPATCH | VT_BYREF;
theArray.parray = pSA;
VariantCopy(psaSome, &theArray);
return S_OK;
}
и такой код клиента (VB):
Sub GetSomes()
Dim Somes(0 To 1) As String
Dim o As New SomeManObj
o.EnumSome (Somes)
MsgBox Somes(1)
End Sub
Подскажите плз что тут не так

, и как надо правильно.
Заранне благодарен.