A:
现象描述:
如执行下列调用
d=ts.RemoteCallFunc('GetBKByDate',{'SH000300',today()-693960});
返回tsl程序报错信息如下:
function:GetBKByDate:GetBKByDatesub:line 46:instruction:usercall: 执行函数 DateToInt 出错。
从这里大致可判断出参数传入到天软时不合理。
测试:
测试RemoteCallFunc调用不需要传参的示例,如
d=ts.RemoteCallFunc('today',{});
若该调用能返回正确结果,则说明交互中传参存在异常。
原因:
经我方调试发现确认一些matlab版本在送入COM接口的数组数据是错误的,请用户升级到修订完错误的新版本(更新版本最新补丁)或向第三方软件提供商寻求支持方案。
如果想继续使用当前版本,也可以通过改用RemoteExecute完成交互,如:
将d=ts.RemoteCallFunc('GetBKByDate',{'SH000300',today()-693960});
改用
d=ts.RemoteExecute('return GetBKByDate("SH000300",today());');
目前收集到的相关表现的版本有:
1、Matlab 2024A 在通过RemoteCallFunc传参时,传到天软中总是nan,而RemoteExecute交互正常。需升级到update7以更正其BUG。