我将在Matlab和另一个软件(DSATools)之间进行通信。
该软件已生成.bin文件作为输出,我需要动态读取它。正如在DSATools的手册中提到的那样,我应该从这样的事情开始,开始阅读:
r = actxserver('ResultScript.BinReader')
但是当我在命令窗口中尝试它时,将出现以下错误:
使用feval
Server Creation Failed: Class not registered
actxserver
中的错误(第86行)
h = feval(['COM.' convertedProgID], 'server', machinename, interface);
有人对这些错误有任何疑问吗?解决办法是什么? (我的操作系统是Windows 8 64位。我的matlab是2013 64位,DSATools可以被64位和32位操作系统使用。)
答案 0 :(得分:0)
尝试安装MATLAB 32位版本。看到这个链接:
答案 1 :(得分:0)
我能够使用注册表技巧published here来解决这个问题。它还在64位注册表列表中注册COM对象。
在$('body').on('click','.heading a',function(){
alert('boop'); //function
});
找到后,添加一个新的REG_SZ(字符串)值。名称应为AppID,数据应与您刚刚搜索的COM对象GUID相同。
在HKey_Classes_Root\Wow6432Node\CLSID\[GUID]
新密钥的调用应与com对象GUID相同。
在刚刚添加的新密钥下,添加一个新的REG_SZ(字符串)值,并将其命名为HKey_Classes_Root\Wow6432Node\AppID\
。将值保留为空。
在DllSurrogate
下创建一个新密钥再次,新密钥应该与COM对象的GUID相同。此密钥下无需添加任何值。