商用フリーのWindowsとMacで使えるプラグイン
Windowsなら今まで自作プラグインを作成していたのですが、今回Macユーザーから依頼があり探すことに。
ある程度の機能があって、両OSで使えるプラグインとして「BaseElementsPlugin」を見つけました。
ライセンス情報を見ると、オープンソースで配布されていて商用も可能。
ソースの改変もできるようです。
BaseElementsPluginのGitHubプロジェクトはこちら
プラグインをインストールする処理を作成
ZIPファイルをダウンロードしてインストールする方法もありますが、今回はダウンロードページに記載されているURLを利用してインストールする処理を作成します。
BaseElementsPluginプラグインのダウンロードページはこちら
URLは、ダウンロードページ内中央あたりに記載があります。
1 2 3 |
Mac: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz Win64: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz Linux: https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx.gz |
OSを判別する
Get (システムプラットフォーム)を使うことで、WindowsかMac、Linuxの判別が行えます。
Linuxを考慮しないでWindowsとMacのみ動作すると考えた場合は、以下のような条件となります。
1 2 3 4 5 |
If[ Get (システムプラットフォーム) = -2] # Windows OS Else # Mac OS End If |
オブジェクトフィールドにプラグインを挿入する
データベースにフィールドを作成して、タイプをオブジェクトに設定し、データの格納をグローバル格納とします。

追加したフィールド「Plugin」に、インストールするプラグインを挿入するスクリプトを追記します。
1 2 3 4 5 6 7 |
If[ Get (システムプラットフォーム) = -2] # Windows OS URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz"] Else # Mac OS URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz"] End If |
オブジェクトフィールドに挿入したプラグインをインストールする
プラグインをダウンロードし挿入したフィールドを指定して、プラグインのインストールを行います。
1 2 3 4 5 6 7 8 |
If[ Get (システムプラットフォーム) = -2] # Windows OS URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz"] Else # Mac OS URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz"] End If プラグインファイルのインストール[Plugin::Plugin] |
すでにプラグインがインストールされている場合の処理を追加
誤って何度もインストールすると無駄ですので、インストールされているか確認する条件を追加します。
またダウンロードしたプラグインがオブジェクトフィールドに挿入されたままでは、ファイル容量が大きくなってしまいます。
ついでに、プラグインがすでにインストール済の場合は、対象フィールドをクリアする処理も追加します。
1 2 3 4 5 6 7 8 9 10 11 12 13 |
If[ Position (Get(インストールされた FM プラグイン); "BaseElements"; 1;1)>0] フィールド設定[Plugin::Plugin; ""] 現在のスクリプト終了[テキスト結果:] End If If[ Get (システムプラットフォーム) = -2] # Windows OS URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmx64.gz"] Else # Mac OS URL から挿入 [選択;ダイアログあり:オフ ターゲット:Plugin::Plugin; "https://goya.com.au/files/beplugin/4.1.4/BaseElements.fmplugin.gz"] End If プラグインファイルのインストール[Plugin::Plugin] |
まとめ
プラグインを利用することでFTPサーバーへファイルアップロードなど、ファイルメーカーだけでは出来ない処理も実装することができます。
今回のファイルメーカープラグインのインストールサンプルは、下のリンクからダウンロードできます。