バージョン 6.3.3
 —  プラグインによる Natural スタジオの拡張  —

クイックスタート

Natural スタジオプラグインの構造および Natural スタジオとの対話を理解するには、完全に機能する最小プラグインを作成し詳しく調べると役立ちます。 後でこのプラグインは拡張できます。 次のトピックの手順を実行してください。


前提条件

プラグインを開発するための基盤として、サンプルライブラリ SYSEXPLG が必要です。 このライブラリには、プラグインサンプルといくつかの主要な定義、およびすべてのプラグインに共通のモジュールが含まれています。

プラグインは常に Natural パラメータファイル NATPARM を使用して実行されます。 プラグインの開発では、プラグインの編集、カタログ、デバッグ、および実行中に同じ Natural 環境を必要とします。

Start of instruction set前提条件を確認するには

  1. ライブラリ SYSEXPLG がインストールされていることを確認します。 Natural スタジオのインストール時にこのライブラリをインストールしなかった場合は、ここでインストールします。

  2. コンフィグレーションユーティリティを起動し、ライブラリ SYSEXPLG および SYSEXT が Natural パラメータファイル NATPARMsteplib として定義されていることを確認します。

  3. Natural スタジオが、Natural パラメータファイル NATPARM を使用して、または Natural パラメータファイル NATPARM と同じシステムファイル割り当てを持つ Natural パラメータファイルを使用して起動されることを確認します。 標準の Natural インストールでは、これはデフォルトです。

Top of page

最小プラグインの作成

プラグインは、プラグインマネージャを使用して作成します。

Start of instruction setプラグインを作成するには

  1. プラグインの起動が有効になっていることを確認してください。 『Natural スタジオの使用』ドキュメントの「ワークスペースオプション」を参照してください。

  2. Natural スタジオの使用』ドキュメントの「プラグインマネージャの呼び出し」の説明に従ってプラグインマネージャを呼び出します。

  3. プラグインマネージャで任意のプラグインを選択します。

  4. コンテキストメニューを表示し、[New]を選択します。

    次のダイアログボックスが表示されます。

    Create plug-in

    さまざまなテキストボックスに表示されるエントリには、ユーザー ID が含まれています。

  5. 次の情報をすべて指定します。

    Library

    プラグインが生成される Natural ライブラリを入力します。 プラグインプロジェクトごとに新しいライブラリを使用するのが理想的です。 ライブラリが空でない場合は、警告が表示されます。 それでもプラグインを生成した場合は、それ以上の警告は表示されず、既存のモジュールが置き換えられます。

    Class module

    プラグインは基本的に Natural クラスで構成されます。 8 文字のクラスモジュール名を選択し、ここに入力します。

    クラス名

    この名前は DEFINE CLASS ステートメントでクラス名として使用されます。 32 文字のクラス名を選択し、ここに入力します。 このクラス名は、プラグインのインストール時にバージョン番号と結合されてシステムレジストリで ProgID として使用されます。 このため、マシンにインストールされているすべての ActiveX コンポーネント間で一意の名前を使用する必要があります。 会社の略称を名前の先頭に付けるのは有効で一般的な方法です。 例えば、Natural スタジオで提供されるプラグインのクラス名はすべて "CSAGNAT" で始まります。

    Display name

    この名前は、プラグインマネージャでプラグインを表示するために使用されます。

    Version

    ここで指定したバージョン番号は、上で指定されたクラス名と結合されてプラグインの ProgID を形成します(例:"CSAGNATUSERNATURALPLUGIN.3")。 クラス名が同じでバージョン番号が異なる複数のプラグインは、1 つのインストールで共存できます。

    単一サーバー

    このチェックボックスをオンにすると、新しいプラグインは他のすべてのプラグインとは異なる独自の Natural サーバープロセスで実行されます。 これが必要になるのは、プラグインが汎用ドキュメントウィンドウを使用する場合のみです。

    このチェックボックスをオフにすると、プラグインはプラグインマネージャと同じサーバープロセスで実行されます。 これにより、プラグインの実行で余分な Natural サーバープロセスを使用せずにすみます。 ただし、汎用ドキュメントウィンドウを使用できません。

  6. [OK]ボタンを選択して、指定したライブラリにプラグインを生成します。 これで最小プラグインが完成しました。ここから独自のコードでプラグインを拡張できます(このセクションで後述)。

    生成処理中にエラーが発生した場合は、生成ログを確認してください。 エラーの一般的な理由として、サンプルライブラリ SYSEXPLG が使用可能でない、steplib として設定されていない、手動で修正されているなどが挙げられます。 そのような場合は、サンプルライブラリを再インストールし、steplib 割り当てを確認してください。

Top of page

最小プラグインのインストールと有効化

前述のように作成した最小プラグインを、インストールできます。 インストール後、プラグインを有効にできます。

プラグインを有効にする利点は、プラグインに追加した独自のコードが意図どおりに動作するかどうかを直ちにテストできる点です。

Start of instruction setプラグインをインストールするには

  1. プラグインの作成時に指定したライブラリに作成されたプログラム INSTALL を実行します。

  2. 新しいプラグインをプラグインマネージャで表示可能にするために、Natural スタジオを再起動します。

    注意:
    プログラム INSTALL を再度実行すると、プラグインはアンインストールされます。

Start of instruction setプラグインを有効にするには

  1. プラグインマネージャを呼び出します。

  2. Natural スタジオの使用』ドキュメントの「プラグインの有効化と無効化」の説明に従って新しいプラグインを有効にします。

    注意:
    このプラグインの自動アクティベーションモードを定義しておくと、Natural スタジオを起動するたびにプラグインが有効化されます。 『Natural スタジオの使用』ドキュメントの「プラグインの自動または手動アクティベーションモードの定義」を参照してください。

Top of page

最小プラグインの検討

プラグインが生成されたライブラリにログオンし、クラスビルダで生成されたクラスを開いてください。 プラグインは 2 つの特定のインターフェイス INaturalStudioPlugIn および INaturalStudioPlugInTree を実装する Natural クラスであることがわかります。 これらのインターフェイスは、インターフェイスモジュール(コピーコード)NSTPLG-I および NSTPLT-I で指定されます。これらのモジュールは、サンプルライブラリ SYSEXPLG に含まれており、すべてのプラグインに共有されます。

最小プラグインではこれらのインターフェイスのメソッドのほとんどは空のままです。 実際に 2 つのメソッド(インターフェイス INaturalStudioPlugInOnActivate および OnDeactivate)しか実装していません。 これらのメソッドの機能は限定的で、ユーザーがプラグインマネージャで[Activate]コマンドを選択すると、Natural スタジオでメソッド OnActivate が呼び出されます。 ユーザーがプラグインマネージャで[Deactivate]コマンドを選択すると、OnDeactivate が呼び出されます。

クラスビルダで OnActivateOnDeactivate のメソッド本体を開くと、最小プラグインがメッセージボックスを開ことによってプラグインの有効化と無効化を示す以外に何もしないことがわかります。 実際のプラグインはこれらのメソッドを使用して、操作のために準備し、状態を初期化および初期化解除します。 以下のセクションで、これが何を意味するかを説明します。

Top of page

最小プラグインの拡張

以下では次のトピックについて説明します。

コマンドの追加

ユーザーと対話するために、プラグインはコマンドを定義し、それらをメニューまたはツールバーでユーザーに提供する必要があります。 通常これはメソッド OnActivate で行われます。 Natural スタジオは、Natural スタジオインターフェイス INatAutoStudio へのハンドルをプラグインに渡します。 プラグインはこのハンドルを保存し、他のメソッド呼び出し中にそれを使用して Natural スタジオにアクセスします。

Start of instruction setコマンドを追加するには

コマンドの有効化

初期設定では、Natural スタジオには無効にされた新規コマンドが表示されます。 コマンドをユーザーが使用できるようにするために、プラグインはコマンドステータスハンドラを実装する必要があります。 コマンドステータスハンドラでは、プラグインはコマンドを有効にするために必要なあらゆる条件をチェックできます。 特に、Natural スタジオで操作を実行するために、インターフェイス INatAutoStudio を利用できます。 最も単純なケースでは、プラグインは条件なしでコマンドを有効にします。

Start of instruction setコマンドを有効にするには

コマンドの処理

コマンドに対応するために、プラグインはコマンドハンドラを実装する必要があります。 コマンドハンドラでは、プラグインはコマンドの実装に必要な操作をすべて実行できます。 特に、Natural スタジオで操作を実行するために、インターフェイス INatAutoStudio を利用できます。

Start of instruction setコマンドを処理するには

Top of page

最小プラグインの無効化とアンインストール

作業する必要がなくなった最小プラグインは、無効にできます。 プラグインマネージャから最小プラグインを削除するには、最小プラグインをアンインストールする必要があります。

Start of instruction setプラグインを無効にするには

  1. プラグインマネージャを呼び出します。

  2. Natural スタジオの使用』ドキュメントの「プラグインの有効化と無効化」の説明に従って最小プラグインを無効にします。

    注意:
    このプラグインの自動アクティベーションモードが定義されている場合は、Natural スタジオを次回起動したときにプラグインは再度有効になります。 『Natural スタジオの使用』ドキュメントの「プラグインの自動または手動アクティベーションモードの定義」を参照してください。

Start of instruction setプラグインをアンインストールにするには

  1. プラグインの作成時に指定したライブラリに作成されたプログラム INSTALL を実行します。

  2. プラグインマネージャからプラグインを削除するために Natural スタジオを再起動します。

    注意:
    プログラム INSTALL を再度実行すると、プラグインは再度インストールされます。

Top of page