2009-08-26 47 views
1

任何人在過去有這個運行時錯誤?我使用Excel 2009與Matlab 2009a進行了相當廣泛的應用。我有一個工作簿曾經工作得很好,現在我得到這個錯誤爲每個MLGetMatrix調用。請注意,MLEvalString,MLPutVar和MLGetVar按預期工作。但是一旦MLGetMatrix發佈,我就會得到這個運行時錯誤,並且它讓我發狂,因爲我似乎無法找到原因!請問,如果你過去遇到過這種情況,你能告訴我是什麼原因造成的嗎?!謝謝。運行時錯誤'-2147352567(80020009)'

馬丁

回答

0

即80020009十六進制值聞起來像一個COM/ActiveX技術HRESULT。一些Google搜索的結果DISP_E_EXCEPTION = 0x80020009,除了這意味着引起DISP_E_EXCEPTION(我認爲這是COM IDispatch :: Invoke()調用中的異常)的事實之外,它並沒有真正的幫助。

編輯:因爲Excel Link是一個Mathworks產品,也許你應該向他們提交一個錯誤報告?

2

想通了。在調用MLGetMatrix(我們知道它也是一個內置函數)之前,我在我的一個MATLAB評估中使用了變量名isempty。這似乎是問題的原因。將該變量名更改爲別的方法解決了問題。執行的代碼似乎正在修改Matlab環境,但仍然阻止任何進一步嘗試使用MLGetMatrix ...