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: |
environment
|
プラグインが動作するシステムを記述したオブジェクト。プラグインがインストールされていない場合でも返されます。次のキーが含まれます:
|
plugins
|
インストールされている各プラグインのオブジェクトを含む配列。プラグインがインストールされていない場合、値は null です。 |
name
|
プラグインの名前 |
id
|
プラグインの 4 文字の ID (ファイル間でのプラグインアクセスの制御についてを参照してください) |
version
|
プラグインのバージョン番号を表す文字列 |
state
|
現在プラグインが環境設定で有効になっていてロードされるかどうか:
|
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 を参照してください。