运行时错误'-2147352567(80020009)'

时间:2009-08-26 22:02:32

标签: matlab

过去有人遇到此运行时错误吗?我在Matlab 2009a中广泛使用了Excel Link。我有一个工作簿,以前工作正常,现在我得到每个MLGetMatrix调用此错误。请注意,MLEvalString,MLPutVar和MLGetVar按预期工作。但是一旦MLGetMatrix发布,我就会遇到这个运行时错误,这让我很生气,因为我似乎无法找到原因!拜托,如果你过去遇到这个,你能告诉我是什么原因造成的吗?!谢谢。

马丁

2 个答案:

答案 0 :(得分:2)

想出来。在调用MLGetMatrix(我们知道它也是一个内置函数)之前,我在我的一个MATLAB评估中使用了变量名isempty。这似乎是问题的原因。将该变量名称更改为其他内容可解决问题。执行的代码似乎正在修改Matlab环境,但是阻止了使用MLGetMatrix的任何进一步尝试......

答案 1 :(得分:0)

80020009十六进制值闻起来像COM / ActiveX HRESULT。一些谷歌搜索产生DISP_E_EXCEPTION = 0x80020009,除了它意味着某些东西导致DISP_E_EXCEPTION(我认为这是COM IDispatch :: Invoke()调用中的异常)之外,它实际上没有帮助。

编辑,因为Excel Link是Mathworks产品,您可能应该向他们提交错误报告吗?