Octave COM error 0x8002000e

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

Octave COM error 0x8002000e

arend
Hi,
I just started using Octave (4.4.1 on Win 64) with the forge windows
package (1.3.0) and hope that you can help me with a small problem:
we have a collection of Matlab m-files that connect to an actxserver
and use its COM objects and methods. This works well on Matlab and
Python (just mentioned to show that the COM objects and all the methods
indeed work as intended). However, when I run the commands in Octave I
get a COM error for the following command (explanation farther down):
>> [X,Y,Z] = p1.CoordXYZ()
error: com_invoke: property/method invocation on the COM object failed
with error `0x8002000e'

the interesting thing is that the actxserver seems to work in general
and all previous methods and properties in the .m-file are executed
without any problem but this particular function causes an issue.
According to Microsoft's description of COM errors `0x8002000e' means
that
"The number of parameters provided is different from the number of
parameters accepted by the method or property of the OLE Automation
Object."

As mentioned before the method call works both in Matlab and in Python
with the exact same syntax but not in Octave and I am wondering if it
could be due to the fact that (in VB) the COM object's method passes its
return values "byref". Here is the COM documentation:

CoordXYZ Method
MeasPoint Object : CoordXYZ Method

Description
Retrieves the 3D coordinate of the measurement point.
Syntax
Visual Basic
Public Sub CoordXYZ( _
    ByRef pdX As Double, _
    ByRef pdY As Double, _
    ByRef pdZ As Double _
)

Parameters
pdX
X-value of 3D coordinate
pdY
Y-value of 3D coordinate
pdZ
Z-value of 3D coordinate

Normally, [X,Y,Z] = p1.CoordXYZ() should assign a float value each to
X, Y, and Z.

Does anyone have any idea how this can be fixed? Please let me know if
you need any further information to assist. Thank you very much in
advance,
Arend