外部インタフェース/API    

DDE名の階層

サーバとしてMATLABにアクセスするとき、サービス名、トピック、アイテムを指定しなければなりません。下図は、MATLAB DDE名の階層を示したものです。トピックとアイテムについては、以下に詳細に記述されています。

2つのMATLABトピックは、SystemEngineです。

MATLAB Systemトピック

Systemトピックを使って、サーバにより提供されるトピックのリスト、サーバにより提供されるSystem トピックのアイテムのリスト、サーバによりサポートされる書式をブラウズすることができます。

MATLAB Systemトピックは、つぎのアイテムをサポートします。

MATLAB Engineトピック

Engineトピックを使って、実行するコマンドに渡したり、データを要求、またはデータを送信することにより、MATLABをサーバとして使うことができます。

MATLAB Engineトピックは、以下のアイテムをサポートします。

MATLAB Engineトピックは、DDEクライアントインタフェースをもつアプリケーションによって利用される3つのオペレーションをサポートします。これらのオペレーションは、評価のためのMATLABへのコマンドの送信、MATLABからのデータの要求、MATLABへのデータの送信を含みます。

評価のためのMATLABへのコマンドの送信

クライアントは、DDE executeオペレーションを使ってMATLABにコマンドを送信します。アイテム名と実行コマンドの指定を要求するクライアントと、コマンドの指定のみを要求するクライアントの2種類があるので、Engineトピックは、2つの形式でDDE executeをサポートします。アイテム名が要求されるときは、EngEvalString.を使ってください。両方の形式で、コマンドの書式はTextでなければなりません。ほとんどのクライアントは、DDE executeに対してTextをデフォルトにします。書式が指定されなければ、おそらくTextです。以下の表は、DDE executeパラメータのまとめを示したものです。

アイテム
書式
コマンド
EngEvalString
Text
String
null
Text
String

MATLABからのデータの要求

クライアントは、DDE requestオペレーションを使ってMATLABからデータを要求します。Engineのトピックは、3つの機能に対するDDEの要求をサポートします。

前のDDEの実行コマンドの結果であるテキスト。   Text書式でEngStringResultアイテムを使って、DDE実行コマンドの文字列の結果を要求します。

前のDDE実行コマンドのグラフィックの結果。   EngFigureResultアイテムを使ってDDE実行コマンドのグラフィックの結果を要求します。EngFigureResultアイテムは、TextまたはMetafilepict書式で利用されます。

指定した行列に対するデータ。   行列名をアイテムとして指定して、行列に対するデータを要求します。TextまたはXLTable書式を指定することができます。

つぎの表は、DDE requestパラメータのまとめです。

アイテム
書式
結果
EngStringResult
Text
String
EngFigureResult
Text
Yes/No
EngFigureResult
Metafilepict
カレントfigureのMetafile
<matrix name>
Text
キャラクタバッファ、タブ分離された列、CR/LF分離された行
<matrix name>
XLTable
Microsoft Excel互換書式のバイナリファイル

MATLABへのデータの送信

クライアントは、DDE pokeオペレーションを使ってMATLABにデータを送信します。Engineトピックは、MATLABワークスペースでのアップデートや新しい行列の作成に対するDDE pokeをサポートします。指定されるアイテムは、アップデートまたは作成する行列名です。指定した名前をもつ行列が既にワークスペースに存在していれば、アップデートされます。そうでない場合は、行列が作成されます。行列のデータは、TextまたはXLTable書式です。

つぎの表は、DDE pokeパラメータのまとめです。

アイテム
書式
Pokeデータ
<matrix name>
Text
キャラクタバッファ、タブ分離された列、CR/LF聞知された行
<matrix name>
XLTable
Microsoft Excel互換書式のバイナリデータ


 サーバとしてMATLABにアクセスする 例: Visual BasicとMATLAB DDE Serverを使って