特集 ニュース コラム Plug-in・カスタム関数 関連製品・サービス 書籍
活用事例 コミュニティ・リンク 人材募集
 
プラグインを作ってみよう

第1回 プラグインの開発って?

FileMaker7FileMakerDeveloper7に同梱されているサンプルソースを用いて、プラグインの作り方を解説します。

プラグインとは

 FileMakerProにはバージョン4から導入された「プラグイン」という機能があります。これはソフトウェア部品を追加する事によってFileMakerProの機能を拡張する方法です。現在では世界中でいろいろな会社からユニークなプラグインが開発されていますが、それらの中でも一番皆さんの目にとまるのは、バージョン6まで添付されていた「Webコンパニオン」ではないでしょうか。バージョン7からはWeb公開の方法は変わってしまいましたが、6まではこの「Webコンパニオン」というプラグインを通してファイルメーカーのWeb公開機能が実現されていました。ほかにもサードパーティ各社からメールの送受信用やグラフ描画用、ファイルの読み書き用等々の各種機能を追加するプラグインが提供されています。
 このように便利なプラグインですが、FileMakerDeveloper7と開発環境があれば自分で作る事も可能です。本コラムではこれから数回に分けて、FileMaker Developer7に付属するサンプルプラグインを実際にコンパイルしたり変更を加えながら、プラグイン制作の実際を体験してみたいと思います。なお、今回のコラムではC++言語そのものについてはお話ししません。その辺りは市販でいい本がたくさんありますので、それを読んでみてください。

プラグインを作るのに必要なもの

 さて、プラグインを作るとなった場合に必要なものは何でしょうか。

1.FileMaker Developer 7
 お約束ですね。これがないと始まりません。このDeveloper7の中に、プラグインを作るためのライブラリファイルやサンプルプラグインのソース、ドキュメント類が入っていますので、何はなくともまずDeveloper7を入手してください。

2.プログラム開発環境について
 これはIDE(統合開発環境)などと呼ばれているもので、製品としてはマイクロソフト社のVisualStudioシリーズやメトロワークス社のCodeWarriorなどがあります。ほかにも例えばApple社が出しているXcode等があります。
 ではそのなかから何を選べばいいのか?実はDeveloper7にはVisualC++用のプロジェクトファイルと、CodeWarrior用のプロジェクトファイルがそれぞれ入っています。ですので、この二つのソフトウェアのどちらかを使うと、面倒な事が無くてとても楽です。今回はMacOSXの環境で開発を行いますので、CodeWarriorを前提に話を進めていきたいと思います。もしあなたがWindows環境で作業をされている、という事でしたらVisualC++の6または.netでもいいかもしれません。

まずはサンプルをコンパイルしてみよう

0.コンパイルについて
 普段FileMakerProで開発をしていると無縁な言葉ですが、「コンパイル」という言葉はC言語やC++、Java等のいわゆるプログラミング言語で開発をする際には必ず出てくる言葉です。ちょっと乱暴な表現ですが、意味としては「人間の書いたプログラムをコンピュータが解釈、実行しやすい形式にまとめる」といったところでしょうか。具体的には例えばC言語で書かれたhoge.cをコンパイルしてhogeという実行可能なプログラムを作り出す、という作業ですね。そして今回FileMakerのプラグインを開発するに際にも、C++で書かれたソースをコンパイル(CodeWarriorのコマンド名は「メイク」)してプラグイン形式のファイルを作るという手順を踏みます。

1.下準備
 さて、それでは早速プラグイン作りの環境を整えてみましょう。まずはCodeWarriorのインストールをしておいてください。インストールはできましたか?できましたらまず、Developer7のCD-ROM内の"CD-ROM/日本語エキストラ/サンプル/FMExample/FMPlugInSDK"ディレクトリを自分の作業用ディレクトリにコピーします。
 コピーできたら<作業環境のパス>/FMPlugInSDK/Example/MacExample.mcpをダブルクリックしてみましょう。開けると下の画像のようなものが出ているはずです。これはCodeWarriorの画面で、サンプルプラグイン「FMExample」を構成する各種ファイルの一覧です。
CodeWarrior for Mac

2.コンパイル(メイク)
 プロジェクトファイルを開く事ができたらいよいよコンパイルです。CodeWarriorではメニューの「プロジェクト」に「メイク」というコマンドがあります。これを選択すると自動的にコンパイルが始まり、プラグインファイルがMacExample.mcpと同じディレクトリに「MacExample.fmplugin」という名前でできます。
 もしも「メイク」コマンドを動かしてもコンパイルが実行されなかったら、MacExample.mcpが保存されているディレクトリにある「MacExample.fmplugin」を削除してから、再度実行してみてください。どうでしょうか?
メイクのメニューは「プロジェクト」の中にある

 これでプラグインのできあがりですので早速使ってみましょう。出来上がったMacExample.fmpluginをFileMakerPro7のインストールされているディレクトリの下にあるExtensionsというディレクトリに移動させて下さい。その際、FileMakerPro7は終了させておいた方がいいでしょう。ファイルの移動が終わったらFileMakerPro7を起動してみます。起動したら上の「FileMakerPro」メニューから「環境設定」を選択して、環境設定ダイアログを表示してください。そこで「プラグイン」というボタンを選択すると、標準でインストールされるAutoUpdateプラグインのほかに、FMExampleというプラグインが表示されています。そう、これが先ほどあなたがコンパイルしたプラグインです。
プラグインFMExampleを所定の場所にコピーしよう
FileMaker7の環境設定でプラグインがインストールされていることを確認

 さて、FMExampleプラグインが有効になっている事を確認したらあとは使ってみるだけ。とりあえず適当にデータベースを作成してフィールド定義画面で計算フィールドを作ってみてください。次に「計算式の指定」ウィンドウが出たら右側の関数の表示を外部関数のみを表示するようにプルダウンメニューを選択してください。こうすると外部関数が下のボックスにリストアップされます。ここで先ほど作ったプラグインに含まれる各関数は出ていますか?出ていたらあとは普通の関数と同じように使うだけ。使い方はDeveloper7のマニュアルの69〜70ページに説明がありますので読んでみてくださいね。

・・・・というわけでこれがプラグインのコンパイルから利用までの流れです。いかがでしたか?慣れないプログラミング環境の操作におっかなびっくりかもしれませんが、慣れればちょっとソースを直してコンパイルする程度ならびくびくしないで大丈夫になると思います。次回は実際にプラグインを構成するファイルたちをのぞいてみたいと思います。

[2004/11/15]
[有限会社ジェネコム 給前悟郎]

◆関連リンク

Microsoft VisualStudio
Metrowerks CodeWarrior
FileMaker Developer7

FMPro.jpについて |  利用規約 |  ポリシー |  お問い合わせ