お手元のファイルへの組み込み
FMキャンバス 3は、あなたのカスタムAppから呼び出して利用します。以下をご確認ください。
■■■FMキャンバスを呼び出す■■■
以下の2つのファイルが必要です。
◎「呼び出し元」ファイル → あなたのお手元のカスタムAppファイル
◎「FMCanvas3.fmp12」ファイル
---
FMキャンバスには、次の6つのフィールドが必要です。「FMCanvas3Example.fmp12」ファイルの「FMCanvasExample」テーブルに作成されています。
FMキャンバスの利用に必要なフィールド
- image:下絵として利用するイメージ格納のオブジェクトフィールド。
- FMC_Result_SVG:描画結果のSVGデータを格納するためのテキストフィールド
- FMC_Result_base64:描画結果のbase64データを格納するためテキストフィールド
- FMC_Result_image:描画結果の画像を格納するためオブジェクトフィールド
- utility:データの処理に使用するためのテキストフィールド タイプ:グローバル
- FMC_merge_image:合成結果の画像を格納するためオブジェクトフィールド
FMキャンバスには、次の7つのスクリプトが必要です。「FMCanvas3Example.fmp12」ファイルの「呼び出し元のデータベースへコピー」フォルダに作成されています。
FMキャンバス描画のためのスクリプト名:
- FMCanvasCall
- FMCanvasCall_customization
- FMCanvasCallBack
画像の合成のためのスクリプト名
- FMCanvasMergeCall
- FMCanvasMergeCall_customization
- FMCanvasMergeCallBack
ライセンス情報のためのスクリプト名
- ライセンス情報
【FMキャンバスを呼び出すための作業】
一番手軽にできる基本的な方法を説明します。順番を守って作業をすることが重要です。
◎「呼び出し元」ファイル → あなたのカスタムAppのファイル
◎「FMCanvas3.fmp12」ファイル
重要*「呼び出し元」と「FMCanvas3.fmp12」の両方のファイルをFileMaker Serverで共有してください!
1. 「呼び出し元」ファイルへ必要なものを移植
(FileMaker Pro Advanced でコピー/ペーストしてください)
1)「FMCanvas3Example.fmp12」ファイルから「FMCanvas3Example」テーブルを移植します(*1)。
2)テーブルオカレンス名が「FMCanvas3Example」であることを確認します。
3)「FMCanvas3Example.fmp12」ファイルから「呼び出し元のデータベースへコピー」フォルダごとスクリプトを移植します(*2)。
4)スクリプトを開いてフィールドなどのリンクが切れていないかなどを確認してください。
2.「呼び出し元」ファイルへレイアウトを準備
FMキャンバスを呼び出しするための最初のレイアウトを1つ作成します。
(レイアウトのコンテキストは「FMCanvas3Example」あるいは、「FMCanvas3Example」が関連先であるテーブルオカレンスを指定する必要があります)
3.「呼び出し元」ファイルのレイアウトをデザイン
1)下絵を指定できるようにします。
2)FMCanvasを呼び出すためのボタンをレイアウトに配置します。
「FMCanvasCall」スクリプトを指定します。
(既にスクリプトを割り当てたボタンをテンプレートとしてご用意いたしました。よろしければご利用ください)
3)結果の表示をするフィールドなどを配置します(*3)。
重要*「utility」フィールドがレイアウト上に配置されている必要があります(表示領域外でも構いません)。
4. 【重要】「呼び出し元」ファイルに "fmurlscript" 拡張アクセス権を付与(FileMaker 16以降のみ)
FileMaker16でセキュリティーが強化されたため、FMCanvasを呼び出す際に”fmurlscript”の拡張アクセス権が必要となりました。
以下の手順を参考にしてください。
FMCanvas3 本体のファイルにも"fmurlscript"拡張アクセス権が必要です。
2017年9月以前にご購入の方で差し替え版をお持ちでない場合、お問い合わせフォームより最新版をご請求ください。
ヒント
あなたのカスタムAppに作成されているテーブルに、必要なフィールドが既に存在しているのであれば、それを利用することも可能です。
「FMCanvas3Example.fmp12」ファイルのテーブルオカレンス名、フィールド名と合わせておくとスクリプト内のフィールドを割り当て直さなくても
そのまま使用することができます。あとから任意の名称に変えていただいても構いません。