外部インタフェース/API    

Dynamic Data Exchange (DDE)

MATLABは、他のWindowsアプリケーションにアクセスしたり、他のWindowsアプリケーションがMATLABに幅広い状況でアクセスするための関数を提供します。これらの関数は、Microsoft Windowsのアプリケーションがデータを交換して互いに通信するためのソフトウェアであるdynamic data exchange (DDE)を使います。

本節では、MATLABでのDDEの利用について説明します。

DDEの概念と用語

アプリケーションは、DDE通信. を行うことでお互いに通信を行います。通信を始めるアプリケーションは、クライアント と呼ばれます。クライアントアプリケーションに応答するアプリケーションは、サーバ と呼ばれます。

クライアントアプリケーションがDDE通信を開始するとき、サーバで定義される2つのDDEパラメータを識別しなければなりません。

サーバアプリケーションがサポートされているトピックを含む通信の要求を受け取るとき、要求を認識しDDE通信を確立します。サービスとトピックの組合せは、通信を一意的に識別します。サービスまたはトピックは、サービスが複数の通信を保持していても通信中に変更されません。

DDE通信中に、クライアントとサーバのアプリケーションはアイテムに関係するデータを交換します。アイテム は、通信内の両方のアプリケーションにとって意味があるデータへの参照です。どちらのアプリケーションも、通信中にアイテムを変更できます。これらの概念は、下記で詳しく説明します。

サービス名

DDEサーバになりうるすべてのアプリケーションは、一意的なサービス名 を持ちます。サービス名は、普通アプリケーションの拡張子が付かない実行ファイル名です。サービス名は、大文字と小文字の区別を行いません。以下は、一般に用いられるサービス名です。

その他のWindowsアプリケーションに対するサービス名は、アプリケーションのドキュメントを参照してください。

トピック

トピック は、DDE通信の題名を定義し、普通クライアントとサーバのアプリケーションの両方に意味があるものです。トピック名は、大文字と小文字の区別を行いません。MATLABのトピックは、SystemEngine で、「サーバとしてMATLABにアクセスする」で説明します。ほとんどのアプリケーションは、System トピックと、少なくともあと1つのトピックをサポートします。サポートされているトピックについての情報は、アプリケーションのドキュメントを調べてください。

アイテム

各トピックは、1つまたは複数のアイテムをサポートします。アイテムは、DDE通信中に渡されるデータのことです。アイテムが大文字と小文字の区別を行うかどうかは、アプリケーションに依存します。行列名は区別を行うので、MATLAB Engine アイテムが行列を参照する場合は、区別を行います。

クリップボード書式

DDEは、アプリケーション間でフォーマットされたデータを送信するために、Windowsのクリップボード書式を使います。クライアントとしては、MATLABはText書式のみをサポートします。サーバとしては、MATLABは下記に示すようにText, Metafilepict, XLTable書式をサポートします。


 MATLABをDCOM Serverとして使う サーバとしてMATLABにアクセスする