我怎样才能通过引用传递参数到一个ActiveX服务器从MATLAB 7.0 (R14) ?
9的观点(30天)
显示旧的评论
我已经创建了一个ActiveX服务器实例化与ACTXSERVER MATLAB。看来,MATLAB将复制所有数据传递给服务器的方法调用。相反,我想以引用的方式传递数据。
接受的答案
MathWorks支金宝app持团队
2016年11月28日
MATLAB的COM接口的默认数据转换规则指定数组是通过价值。
从MATLAB 7.0.4 (R14SP2)可以解决默认数据转换规则和MATLAB的数组引用传递。您可以通过SAFEARRAYs ActiveX服务器通过引用在MATLAB提示通过执行下面的命令:
功能(“COM_PassSafeArrayByRef”,1)
注意,设置这个功能可能打破COM与Excel,包括Excel链接。如果你想重置默认行为通过MATLAB的所有数据值,执行:
功能(“COM_PassSafeArrayByRef”,0)
你也可以查询这个属性的当前状态的命令
功能(“COM_PassSafeArrayByRef”)
注意通过数值数组引用:MATLAB支持COM对象按引用传递一种变体。金宝app自细胞变体的数组转换为SAFEARRAY COM_PassSafeArrayByRef只能与细胞阵列。数字数组是通过引用传递只有标记为[,]或[出]COM对象的IDL文件。
更多信息的默认行为可用MATLAB COM接口数据转换:
MATLAB COM客户机支持::C金宝appOM和DDE支持(Windows)(外部接口)
< //www.tatmou.com/help/releases/R14/techdoc/matlab_external/ch07cli5.html?s_tid=srchtitle >