在使用 Matlab Builder NE 编译 COM 服务器时,我不断收到错误消息:“描述:MCR 实例不可用”

Posted

技术标签:

【中文标题】在使用 Matlab Builder NE 编译 COM 服务器时,我不断收到错误消息:“描述:MCR 实例不可用”【英文标题】:While compiling COM server with Matlab Builder NE, I keep on getting the error : "Description: MCR instance is not available" 【发布时间】:2011-12-13 09:10:57 【问题描述】:

我正在尝试使用 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。

【问题讨论】:

【参考方案1】:

我发现只有从 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 测试它们。 如果您不确定这些过程的行为,请联系您的 开发人员或系统管理员。

【讨论】:

以上是关于在使用 Matlab Builder NE 编译 COM 服务器时,我不断收到错误消息:“描述:MCR 实例不可用”的主要内容,如果未能解决你的问题,请参考以下文章

带有 find_system 的 Matlab Builder NE

如何将文件路径从 asp.net matlab ne builder dll 工具传递给 Matlab 函数

Matlab Builder JA - 将 Matlab 编译成 Java jar - 免费版?

Windows 8 上的 Matlab 构建器 NE / MCR

matlab中Signal Builder模块的用法总结

在用matlab2013时,想通过matlab生成verilog