サンプルとテクニック

<< 目次を表示 >>

ページ位置:  API・アドイン・スクリプト > API > APIを使う >

サンプルとテクニック

項目

説明

利用方法

APIについて理解するには、APIを利用した例を確認するのがよいでしょう。ここでは、いくつかのサンプルを紹介します。

  • VB 6, C#, Java, PHP のサンプルがインストールディレクトリ以下のCode Samplesフォルダに格納されています。
  • API利用時は、Enterprise Architectのプロセスが別途起動し、APIを通して機能を呼び出す構成となります。
  • C#での例は「サンプルコード」の章で紹介しています。
  • 外部のアプリケーションから、Enterprise Architectのオブジェクトを作成し、機能を呼び出せます。

 

 

(参考:Enterprise Architectの呼び出し関連情報)

ヒント

 

さらに、以下のヒントが参考になるかもしれません。

  • Repositoryオブジェクトを新規に作成する際には、EAのアプリケーション自身(EA.exe)がバックグラウンドで起動します。
  • APIを通してデータを読み込んだ場合には、EAが動作するために起動に時間がかかります
  • コレクションは0オリジンです。つまり、Repository.Models(0)は最初のモデルルートを表しています。
  • 開発中、処理を中断した場合にEA.exeプロセスが残ってしまう場合があります。この場合には、タスクマネージャなどから終了させてください。
  • 実行中のEnterprise Architectを外部から操作する場合には Appオブジェクトが持つ GetObject()  を利用します。この方法で取得したRepositoryオブジェクトからは、例えばGetContextItem() を利用して、Enterprise Architectで操作中の情報を取得できます。

 

(参考:Appオブジェクト)

EAが終了しない場合

 

APIを利用したすべての処理が完了したら、Repositoryオブジェクトの CloseFile() および Exit() を呼び出し、またすべての変数の参照を削除してください。

 

    repository.CloseFile();

    repository.Exit();

    repository = null;

 

もし.NETフレームワークを利用している場合には、EAへの参照をすべて開放してもEA.exeプロセスが終了しない場合があります。強制的にCOMオブジェクトへのポインタを開放するには、下で示したメモリ管理機能を呼び出す必要があります。
(下記の2つの命令セットを2回連続して呼び出さないと確実に開放されないことがあります。)  

GC.Collect();  

GC.WaitForPendingFinalizers();  

 

アドインを呼び出しているEnterprise Architectを実行している場合に注意すべき点があります。ヒントとテクニックのページをご覧ください。