Get (インストールされた FM プラグインの JSON)

インストールされているプラグインの属性を含む JSON オブジェクトを返します。

構文 

Get (インストールされた FM プラグインの JSON)

引数 

なし

戻り値のデータタイプ 

テキスト

起点バージョン 

19.2.2

説明 

この関数は Get (インストールされた FM プラグイン) 関数と同じ情報を返しますが、追加情報を含む JSON オブジェクトが返される点が異なります。

次の例は返される JSON オブジェクトを示し、その plugins 配列には、インストールされているプラグインが 2 つあります。

コピー
{
    "APIVers":2,
    "environment" :
    {
        "architecture":"arm64",
        "platform":1,
        "version":"11.3"
    },
    "plugins":
    [
        {
            "name":"MyPlugin1",
            "id":"XM32",
            "version":"1.0",
            "state":"Enabled",
            "filepath":"filemac:/HD/Users/user1/Library/Application Support/FileMaker/Extensions/MyPlugin1.fmplugin/",
            "description":"これはサンプル FileMaker プラグインです。"
        },
        {
            "name":"MyPlugin2",
            "id":"BO3B",
            "version":"1.1.6x3422",
            "state":"Disabled",
            "filepath":"filemac:/HD/Users/user1/Library/Application Support/FileMaker/FileMaker Pro/19.0/Extensions/MyPlugin2.fmplugin/",
            "description":"これはもう 1 つの FileMaker プラグインです。"
        }
    ]
}

次の表に、返される JSON オブジェクトの要素に関する説明を示します。

JSON 要素

説明

APIVers

この JSON オブジェクトの構造のバージョン番号を表す数値。今後のリリースで JSON オブジェクトの構造が変化すると、この番号も変わります。

バージョン 2 (v19.3.1): environment が追加されました。

environment

プラグインが動作するシステムを記述したオブジェクト。プラグインがインストールされていない場合でも返されます。次のキーが含まれます:

plugins

インストールされている各プラグインのオブジェクトを含む配列。プラグインがインストールされていない場合、値は null です。

name

プラグインの名前

id

プラグインの 4 文字の ID (ファイル間でのプラグインアクセスの制御についてを参照してください)

version

プラグインのバージョン番号を表す文字列

state

現在プラグインが環境設定で有効になっていてロードされるかどうか:

  • Enabled – 有効になっていてロードできます
  • Disabled – 無効になっていてロードできません
  • Ignored – ロードできません (ソフトウェア非互換性が原因である可能性があります)
filepath

FileMaker 形式のプラグインファイルのパス (ファイルパスの作成を参照してください)

description

プラグインの説明

name、version、および description の値は、プラグインのデベロッパによってプラグインのリソースファイル (Windows) または info.plist ファイル (macOS) で提供される値です。

例 1 

インストールされているプラグインの数を返します。

コピー
ValueCount (JSONListKeys (Get (インストールされた FM プラグインの JSON) ; "plugins"))

例 2 

$$id 変数で指定された ID を持つプラグインのバージョン番号を返します。上記の例の JSON オブジェクトを返すシステムでは、$$id が "XM32" の場合、下記の計算により 1.0 が返されます。

コピー
While ( 
    [ 
    plugin_json = Get (インストールされた FM プラグインの JSON) ;
    total = ValueCount (JSONListKeys (plugin_json ; "plugins")) ;
    index = 0 ;
    version = "" 
    ] ; 

    index < total ; 

    [ 
    version = If (JSONGetElement (plugin_json ; "plugins[" & index & "].id") = $$id ; 
        JSONGetElement (plugin_json ; "plugins[" & index & "].version") ; "") ;
    index = If (version = "" ; index + 1 ; total)
    ] ; 

    version 
)

例 3 

プラグインファイルのインストール例 2 を参照してください。