Python & COM
Stefan Schukat
SSchukat at dspace.de
Wed Mar 31 08:09:02 EST 2004
Just retrieve a VARIANT from the safearray, e.g.
SAFEARRAY *array=V_ARRAY(a);
long i,val;
long lUBound = 0;
long lLBound;
long nDim;
VARIANT varElement;
SafeArrayGetUBound(array, 1, &lUBound);
SafeArrayGetLBound(array, 1, &lLBound);
for(i = lLBound; i < lUBound; i++) {
VariantInit(&varElement);
SafeArrayGetElement(array,&i,&varElement);
if (V_VT(varElement) == VT_I4)
{
c_array[i - lLBound] = varElement.lVal;
}
VariantClear(&varElement);
}
Regards
Stefan
-----Original Message-----
From: Anand K Rayudu [mailto:anand at easi.soft.net]
Sent: Wednesday, March 31, 2004 10:22 AM
To: Stefan Schukat
Cc: python-list at python.org
Subject: Re: Python & COM
Hi Stefan,
Thanks for the suggestion. From little debug i found out that I am
getting VARIANT of safe array.
How ever I am not getting proper values from the safe array.
Could you please suggest how to implement that
Do you see any problem in the following code.
>
>SAFEARRAY *array=V_ARRAY(a);
>long i,val;
>for(i=0;i<len;i++){
> SafeArrayGetElement(array,&i,&val)
> c_array[i]= val;
>}
>
>I am not getting proper values in C array.
>Any suggestions?
>
>
More information about the Python-list
mailing list