Как передать массив строк в 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
|
Подскажите плз что тут не так , и как надо правильно. Заранне благодарен. |