我正在尝试在Matlab中使用控件ActiveX来创建一个Mint WorkBench控制器。我正在尝试使用方法'VectorA',根据Matlab具有以下语法:
VectorA = void VectorA(handle, int16, Variant, Variant)
我已经读过Matlab中的Variant数据类型被作为单元格进行处理,所以我的代码是这样的。
% Connecting with controller.
h=actxserver('MintControls_5812.MintController.1');
invoke(h,'SetUSBControllerLink',2);
% Defining parameters
axes={0,1};
positions={-55.0, -60.0};
% Invoking method
invoke(h,'VectorA',length(axes), axes, positions)
我收到以下错误:
Error using COM.MintControls__5812_MintController_1/VectorA
Error: The parameter is incorrect.
Error in VectorA_try (line 21)
invoke(h,'VectorA',length(axes), axes, positions)
根据Mint的帮助,它在Visual Basic中的语法是:
VectorA(nNumberOfAxes As Short, nAxesArray As Object, fPosArray As Object)
我在VB中尝试过并且工作得很好。我也尝试过在Matlab中调用方法的其他语法方法,比如改变排序,数据类型,传递一些像字符串这样的参数,等等,没有任何效果。
该方法的正确语法是什么?