在使用 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 - 免费版?