ユーザフォームの概要

4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次

version 2004


4Dのバージョン2004から、デベロッパはカスタマイズされたフォームを作成したり修正したりする機能を、ユーザに提供することができます。これらの "ユーザフォーム" はその他の4Dのフォームのように使用することが可能です。

概要

ユーザフォームはデベロッパによって作成された標準的な4Dフォーム ("ソース" または"デベロッパ" フォームと呼びます) をベースとして、フォームエディタでユーザによる編集可プロパティが適用されているフォームです。(EDIT FORM コマンドで呼び出される) 簡略化されたフォームエディタを用いて、ユーザはフォームの外観を修正したり、(定義済みオブジェクトのライブラリを使用して) グラフィックオブジェクトを追加したり、エレメントを隠したりするなどの編集ができます。デベロッパは許可するアクションをコントロールできます。

ユーザフォームは2つの異なる方法で使用可能 です:

・ユーザはEDIT FORM コマンドを用いて "ソース" フォームを修正し、独自のニーズへ適応させます。ユーザフォームはローカルに保持され、オリジナルフォームの代わりに自動的に使用されます。

この動作はデベロッパが設定したダイアログボックスのパラメタに対し、例えば顧客のサイトでフォームに会社のロゴを追加したり、不要なフィールドを隠したりするなどのニーズにこたえるものです。

・"ソース" ファイルは基本テンプレートとして機能します。ユーザはCREATE USER FORM コマンドを使用してこのテンプレートを自由に複製したり、必要なだけコピーを作成したりすることができます。EDIT FORM コマンドを用いてそれぞれのコピーを自由に設定 (内容、名前など) することも可能です。しかし、それぞれのユーザフォームの名前はユニークでなければなりません。そして、INPUT FORM コマンドとOUTPUT FORM コマンドを用いて、各プロセスで使用するユーザフォームを指定します。

この動作によりデベロッパはユーザに対してカスタマイズされたレポートなどを作成することができます。

ユーザフォームを格納して管理する

ユーザフォームのメカニズムは、4Dのローカルモード、4Dサーバおよび4Dデスクトップにおいて、コンパイルされたデータベースとインタープリタデータベースの両方で機能します。クライアント/サーバモードでは、修正されたユーザフォームはすべてのマシンで利用可能です。

4Dはフォームに加えられた変更を自動的に処理します。フォームがユーザによる編集可として設定されると、デザインモードではフォームがロックされます。フォームオブジェクトへのアクセスを可能にするために、デベロッパはロック解除するアイコンを必ずクリックしなければなりません。この作業により関連するユーザフォームは無効となり、再作成しなければなりません。"ソース" フォームが削除されると、関連するユーザフォームも同じく削除されます。

ユーザフォームは、メインストラクチャファイル (.4DB/.4DC) と同階層に、.4DA 拡張子の別ファイルとして格納されます。このファイルは "ユーザストラクチャファイル" と呼ばれます。このファイルの動作は透過的です。ユーザフォームが存在すると、4Dはそれを使用します (新しいLIST USER FORMS コマンドにより、いつでも有効なユーザフォームを見つけることが可能です) 。またINPUT FORM コマンドとOUTPUT FORM コマンドはこのファイルの中でユーザフォームを探します。ユーザフォームが無効な場合、そのフォームは削除され、4Dはソースフォームをデフォルトで使用します。

クライアント/サーバでは、メインストラクチャファイルと同じルールに従って、.4DA ファイルがクライアントマシンに配布されます。

この原理により、デベロッパによってストラクチャファイルが更新された場合でも、ユーザフォームを利用可能な状態に維持することができます。

エラーコード

ユーザフォーム管理コマンドを使用する際、特定なエラーコードが返される場合があります。-9750 から -9759までのコードについては、データベースエンジンエラー の節に記述されています。

ユーザフォームとプロジェクトフォーム

ユーザフォームメカニズムはプロジェクトフォームとの互換性はありません。従って、"ユーザフォーム" テーマのコマンドをプロジェクトフォームに対して使用することはできません。


4D - Documentation   French   English   German   Spanish   日本語   4D v11 SQLコマンドテーマリスト   4D v11 SQLインデックス   4D v11 SQL定数テーマリスト   戻る   前   次