0

COM オブジェクトを使用して C# から Matlab 関数を呼び出しました。実行されますが、複数の呼び出しで、COM を介して matlab エンジン インターフェイスをインスタンス化するときに例外が発生します。

//COM を介して MATLAB エンジン インターフェイスをインスタンス化するため

    MLApp.MLAppClass matlab = new MLApp.MLAppClass();

それが与える例外:

タイプ 'MLApp.MLAppClass' の COM オブジェクトをインターフェイス タイプ 'MLApp.DIMLApp' にキャストできません。IID '{669CEC93-6E22-11CF-A4D6-00A024583C19}' を持つインターフェイスの COM コンポーネントでの QueryInterface 呼び出しが次のエラーにより失敗したため、この操作は失敗しました: RPC サーバーを利用できません。(HRESULT からの例外: 0x800706BA)。

私はこれを理解することができません。どんな助けでも大歓迎です。

4

1 に答える 1

0

私も同じ問題を抱えていました。私は 2 つのプライベート関数を使用し、その関数内に 2 つの異なる matlab オブジェクトを作成していました。次に、matlab オブジェクトのグローバルな問題を解決しました (以下のように)。しかし、あなたの問題は同じではないかもしれません。

 public partial class Form1 : Form
 {
        #region ----> Global Variables
        // Create the MATLAB instance 
        MLApp.MLApp matlab = new MLApp.MLApp();
于 2016-03-31T13:57:45.940 に答える