在使用Matlab Builder NE编译COM服务器时,我继续收到错误:“说明:MCR实例不可用”

时间:2011-12-13 09:10:57

标签: matlab matlab-deployment matlab-compiler

我正在尝试使用Matlab Builder NE在Matlab 2011a中编译COM对象。 我设法构建和打包它,部署它,甚至启动COM服务器。 我在Matlab中使用以下命令

  

c = actxserver(' MyFirstComServer.Class1');

但是,当我尝试在此句柄上运行任何方法时,我收到类似的错误消息:

  

c.GetNames(0,'')
  ???调用错误,调度异常:
  来源:MyFirstComServer.Class1.1_0
  描述:MCR实例不可用

我在网上找到了与之相关的内容,然而,它并没有帮助我 http://www.mathworks.com/support/solutions/en/data/1-2VS4TC/index.html?product=MN&solution=1-2VS4TC

有人知道该怎么做吗?

编辑:
我发现如果我从Matlab调用组件,问题就会发生 。这可能与MCR混淆有关,COM组件使用的是Matlab使用的相同MCR。 / p>

1 个答案:

答案 0 :(得分:0)

我发现问题只有在我从Matlab调用组件时才会发生。这可能与MCR混淆有关,COM组件使用与Matlab相同的MCR。

编辑(1)来自Builder NE手册。

  

使用MCR进行测试   当您使用MCR进行测试时,请记住MCR是一个实例   MATLAB。鉴于此,不可能将MCR加载到MATLAB中。   例如,如果使用Deployment构建通用COM组件   来自MATLAB Builder NE的工具,您生成一个DLL。   然后,如果您尝试使用actxserver等应用程序测试组件,   它将其进程加载到MATLAB中,您实际上正在加载MCR   进入MATLAB,产生如下错误:   mwsamp.mymagic(3,[],[])   ???调用错误,调度异常:   资料来源:tmw1.Class1.1_0   说明:MCR实例不可用   因此,了解之前的第三方流程的行为   试图用MCR测试它们。   如果您不确定这些过程的行为,请联系您的   开发人员或系统管理员。