FileMaker コンテキストでモジュラー スクリプトをどのように定義しますか? 私はまだ意図的に私の定義を提供していません。私はあなたがどう思うか知りたいです。ありがとう!
4 に答える
FileMaker のモジュラー スクリプティングは、オブジェクト指向プログラミングの精神を体現しています。つまり、スクリプトは、狭い範囲で相互運用可能な機能オブジェクト/モジュールのコレクションとしてモデル化する必要があります。FileMaker では、これらのモジュールは、現在のコンテキストから派生する代わりに、パラメーターを介して渡される値を優先する必要があります。スクリプト モジュールは、結果 (成功、失敗、キャンセルなど) と、呼び出し元のスクリプトで必要な値を返す必要があります。大きなルーチンは、多くの小さなモジュールに依存してタスクを実行する必要があります。これにより、障害を簡単に特定でき、モジュールを多くのタスクに再利用できます。
モジュラー スクリプトは、そのスクリプトの外部に依存することなく、有用な機能を実行するスクリプトです。これは、私が「ワンショット」スクリプトと呼ぶものとは対照的です。ワンショット スクリプトは、パラメーターをほとんどまたはまったく必要としませんが、使用されているファイルに固有の依存関係があります。
理想的なモジュラー スクリプトは、ゼロ入力を受け取り、いくつかの有用な機能を実行し、その結果の処理を必要としません。この例として、現在のウィンドウのサイズを変更して現在のウィンドウを画面の中央に配置するスクリプトがあります。I/O 接続がなく、スクリプト自体の外部で変更する必要がないため、このスクリプトを使用するコストはありません。
より実用的な例では、入力パラメーターと出力結果が必要になります。ただし、パラメーターの受け渡しの数と複雑さが増すにつれて、モジュール性の利点が減少することに注意してください。パラメータをほとんどまたはまったく必要としない「ワンショット」の非モジュール式スクリプトの単純さがより良い選択になる転換点があります。
モジュラー スクリプティングは、スクリプトを作成する方法であり、すべてのスクリプトをそのまま別のソリューションにコピーすると、いつ実行しても適切に機能します。
「適切に動作する」とは、独自のコンテキストとパラメーターを正しく認識し、正しいアクションを実行するか、スクリプトに先頭のコメントとして含まれているドキュメントに従って正しいエラー/結果コードを報告することを意味します。
FileMaker のモジュラー スクリプティングは、オブジェクト指向プログラミングの継承プロパティを FileMaker の動作の特定の粒度に適合させます。Modular Scripting は、FileMaker がオブジェクト指向のプラットフォームではなく、コンテキスト指向のプラットフォームであることを認識して、可能な限りコピー アンド ペースト可能であることを目指しています。
モジュラー スクリプトは、呼び出し元のコンテキストによって渡される値ベースのパラメーターによって、またはそれ自体の操作コンテキストを識別することによって、それ自体を制御できます。モジュラー スクリプトは、FileMaker システムの特定のパターン化された構造に依存する場合がありますが、スクリプトがパラメーターを介して伝えられることや (Get() および Design 関数などを介して) 推測できるものを超えて、特定のスキーマまたはコンテキストに依存することはありません。
たとえば、モジュール式の「レポートの印刷」スクリプトでは、印刷するレイアウトを指定する必要があり、対象レコードを OnLayoutLoad または OnModeEnter トリガーでソートする必要がある場合もありますが、モジュール式のレポート印刷スクリプトでは、特定のレイアウトは必要ありません。これらが特定のソリューション内のスクリプトの複数の異なるアプリケーションに共通している場合を除き、"Print Report Layout" という名前または特定の "Table::SortThis" フィールド。
したがって、単一のモジュラー スクリプトを呼び出して、多くの異なるコンテキストに適した同じタスクを実行できます。