1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
|
void CEmosDatabase::AcceptMultipleArguments(const VARIANT FAR& TestClass)
{
if( TestClass.vt & VT_ARRAY ) {
long l_ubound, l_lbound;
SafeArrayGetUBound(TestClass.parray,1,&l_ubound);
SafeArrayGetLBound(TestClass.parray,1,&l_lbound);
LPDISPATCH HUGEP *pDElts;
IEmosSPParams P;
SafeArrayAccessData((SAFEARRAY FAR*) TestClass.byref, (void HUGEP* FAR*)&pDElts);
for(int i = l_ubound; i<=l_lbound;i++) {
P.AttachDispatch((pDElts[i]);
str1 = P.GetParamName();
(...)
P.DetachDispatch();
}
SafeArrayUnaccessData((SAFEARRAY FAR*) TestClass.byref);
}
} |