M
MB Blackburn
I have a question about VBA code in Excel. It is talking to an ActiveX
component.
Several methods in the component have method signatures that contain [in]
and [out] parameters of type SAFEARRAY.
More precisely the idl code reads:
[in] SAFEARRAY (float)* for the input and
[out, retval] SAFEARRAY (float)* for the output.
When I call a method with the [in] SAFEARRAY param, life is good...no
errors.
However, when I try to call a method with the [out, retval] SAFEARRAY param,
the methods fails with message: Unsupported automation type.
To get the method to work I have to change the idl code to read: [out,
retval] VARIANT *
The question: why is the SAFEARRAY recognized as a legit type for [in]
params but not [out] params?
m blackburn
component.
Several methods in the component have method signatures that contain [in]
and [out] parameters of type SAFEARRAY.
More precisely the idl code reads:
[in] SAFEARRAY (float)* for the input and
[out, retval] SAFEARRAY (float)* for the output.
When I call a method with the [in] SAFEARRAY param, life is good...no
errors.
However, when I try to call a method with the [out, retval] SAFEARRAY param,
the methods fails with message: Unsupported automation type.
To get the method to work I have to change the idl code to read: [out,
retval] VARIANT *
The question: why is the SAFEARRAY recognized as a legit type for [in]
params but not [out] params?
m blackburn