オブジェクト
型
必須設定です。
このプロパティは アクティブまたはスタティックなフォームオブジェクト のタイプを指定します。
JSON 文法
名称 | データタイプ | とりうる値 |
---|---|---|
type | string | "button", "buttonGrid", "checkbox", "combo", "dropdown", "groupBox", "input", "line", "list", "listbox", "oval", "picture", "pictureButton", "picturePopup", "plugin", "progress", "radio", "rectangle", "ruler", "spinner", "splitter", "stepper", "subform", "tab", "text", "view", "webArea", "write" |
対象オブジェクト
4D View Pro エリア - 4D Write Pro エリア - ボタン - ボタングリッド - チェックボックス - コンボボックス - ドロップダウンリスト - グループボックス - 階層リスト - リストボックス - リストボックス列 - リストボックスフッター - リストボックスヘッダー - ピクチャーボタン - ピクチャーポップアップメニュー - プラグインエリア - 進捗インジケーター - ラジオボタン - スピナー - スプリッター - スタティックピクチャー - ステッパー - サブフォーム - タブコントロール - テキストエリア
オブジェクト名
各アクティブフォームオブジェクトにはオブジェクト名が関連付けられています。 各オブジェクト名はユニークでなければなりません。
オブジェクト名のサイズ上限は 255バイトです。
4Dランゲージを使用する際、オブジェクト名を使用してアクティブフォームオブジェクトを参照できます (詳細については 4Dランゲージリファレンスの オブジェクトプロパティ を参照ください)。
フォームオブジェクトの命名規則については 識別子 の章を参照してください。
JSON 文法
名称 | データタイプ | とりうる値 |
---|---|---|
name | string | 既存オブジェクトによって使用されていない、命名規則に沿った名称 |
対象オブジェクト
4D View Pro エリア - 4D Write Pro エリア - ボタン - ボタングリッド - チェックボックス - コンボボックス - ドロップダウンリスト - グループボックス - 階層リスト - リストボックス - リストボックス列 - リストボックスフッター - リストボックスヘッダー - ピクチャーボタン - ピクチャーポップアップメニュー - プラグインエ リア - 進捗インジケーター - スピナー - スプリッター - スタティックピクチャー - ステッパー - ラジオボタン - サブフォーム - タブコントロール - テキストエリア - Web エリア
値を記憶
このオプションは、フォームの 配置を記憶 プロパティがチェックされている場合に利用可能です。
この機能は、フォームの全体的な配置に関係するオブジェクトに対してのみサポートされています。 たとえばチェックボックスは、ウィンドウ内の追加エリアを表示/非表示するのに使用することができるため、このオプションが存在します。
「値」を保存できるオブジェクトは以下のとおりです:
オブジェクト | 保存される値 |
---|---|
チェックボックス | 関連付けられた変数の値 (0, 1, 2) |
ド ロップダウンリスト | 選択されている項目の番号 |
ラジオボタン | 関連付けられた変数の値 (1、0、ボタンにおいては true/false など型による) |
タブコントロール | 選択されているタブの番号 |
JSON 文法
名称 | データタイプ | とりうる値 |
---|---|---|
memorizeValue | boolean | true, false |
対象オブジェクト
変数あるいは式
セレクションおよびコレクション型のリストボックス列に関しては 式 の章も参照ください。
このプロパティは、データのソースを指定します。 各アクティブフォームオブジェクトにはオブジェクト名と変数名が関連付けられています。 変数名とオブジェクト名は違っていてもかまいません。 同じフォーム内で複数のアクティブオブジェクトに同じ変数名を割り当てることができますが、オブジェクト名 はそれぞれユニークでなければなりません。
変数名の上限は 31バイトです。 命名規則については 識別子 の章を参照してください。
フォームオブジェクト変数を使って、オブジェクトを監視・コントロールすることができます。 たとえば、ボタンがクリックされると、その変数の値は 1 に設定されます。それ以外の場合は 0 です。 進捗インジケーターに関連づけられた式は、現設定の取得・変更を可能にします。
代入可・代入不可の変数および式が使用でき、取得できるデータ型はテキスト、整数、数値、日付、時間、ピクチャー、ブール、そしてオブジェクトです。
JSON 文法
名称 | データタイプ | とりうる値 |
---|---|---|
dataSource | string、または sting のコレクション |
式
オブジェクトのデータソースとして、式 を使用することができます。 シンプルな式、オブジェクトプロパティ、フォーミュラ、4D関数、プロジェクトメソッド名、標準の [Table]Field
シンタックスを使用したフィールド名を使用できます。 式はフォームが実行されたときに評価され、フォームイベント毎に再評価されます。 式には、代入可および代入不可の式 があることに注意が必要です。
入力された式が、変数名とメソッド名の両方で使用されている場合、4Dはメソッド名が指定されたものと判断します。
ダイナミック変数
ボタン、入力オブジェクト、チェックボックス等のフォームオブジェクトに割り当てられる変数を、 必要に応じて動的に、4D に作成させることができ ます。 これをおこなうには、"変あるいは式" プロパティを空にします (あるいは JSON の dataSource
フィールド):
変数名が与えられていない場合、4D はフォームがロードされたときにインタープリターのプロセス変数の空間内でユニークな名前を計算し、その名前でオブジェクト用の変数を新規作成します (このメカニズムはコンパイルモードでも使用することができます)。 この一時的な変数はフォームが閉じられるときに破棄されます。 この方式をコンパイルモードで動作させるためには、ダイナミック変数の型を明示的に指定しなければなりません。 これをおこなうには 2つの方法があります:
- プロパティリストの 式タイプ を使用して型を指定する。
- たとえば
VARIABLE TO VARIABLE
コマンドを使用する、専用の初期化コードをフォームロード時に実行する。
If(Form event code=On Load)
var $init : Text
$Ptr_object:=OBJECT Get pointer(Object named;"comments")
$init:=""
VARIABLE TO VARIABLE(Current process;$Ptr_object->;$init)
End if
4Dコード中では、 OBJECT Get pointer
コマンドで取得できるポインターを介してダイナミック変数にアクセスできます。 例:
// "tstart" オブジェクトの変数に時刻 12:00:00 を代入します
$p :=OBJECT Get pointer(Object named;"tstart")
$p->:=?12:00:00?
このメカニズムを使用する利点は 2つあります:
- ひとつのホストフォーム上で複数個配置することの可能な "サブフォーム" タイプのコンポーネント開発を可能にします。 たとえば、開始日と終了日を設定する 2つの日付ピッカーサブフォームをホストフォーム上に配置するケースを考えてみましょう。 このサブフォームでは、日付を選択するためのオブジェクトが使用されます。 開始日と終了日をそれぞれ選択できるよう、これらオブジェクトにはそれぞれ別の変数が割り当てられている必要があります。 4Dにダイナミック変数を生成させることでユニークな変数を得ることができ、この問題を解決できます。
- また、メモリの利用を減少させることができます。 フォームオブジェクトでは、プロセス変数とインタープロセス変数しか使用できません。 しかしコンパイルモードでは、各プロセス変数のインスタンスが (サーバープロセスを含め) すべてのプロセスに対して作成されます。 このインスタンスは、セッション中にフォームが使用されない場合でもメモリを消費します。 フォームのロード時、4Dにダイナミック変数を作成させることで、メモリを節約できます。