MLGetMessageHandler()

MLMessageHandlerObject MLGetMessageHandler(MLINK link)
MLINKオブジェクトlink のためにインストールされたメッセージハンドラ(処理)関数を返す.

詳細詳細

  • MathLink が接続の向こう側から緊急のメッセージを受けると,緊急メッセージハンドラ関数が呼び出される.
  • MLGetMessageHandler()は,link にメッセージハンドラ関数がインストールされていない場合に(MLMessageHandlerObject)0 を返す.
  • MLMessageHandlerObject は,void f(MLINK link, int m1, int m2)の形式の関数へのポインタである.
  • MLGetMessageHandler()MathLink ヘッダファイルmathlink.hの中で宣言される.

例題例題すべて開くすべて閉じる

例 (1)例 (1)

#include "mathlink.h"

/* a function to read MathLink urgent messages */

void AppMessageHandler(MLINK link, int m1, int m2)
{
    /* ... */
}


/* check that a link uses AppMessageHandler for urgent messages */

void check_the_message_handler(MLINK link)
{
    MLMessageHandlerObject handler;

    handler = MLGetMessageHandler(link);
    if(handler != (MLMessageHandlerObject)AppMessageHandler)
    {
        if(! MLSetMessageHandler(link, (MLMessageHandlerObject)AppMessageHandler))
            { /* unable to set AppMessageHandler as the handler for
             link */ }
    }
}
New to Mathematica? Find your learning path »
Have a question? Ask support »