ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
FORM Convert to dynamic
|
FORM Convert to dynamic ( {aTable ;} formName ) -> 戻り値 | ||||||||
引数 | 型 | 説明 | ||||||
aTable | テーブル |
![]() |
フォームテーブル | |||||
formName | テキスト |
![]() |
"クラシック"プロジェクトフォーム名またはテーブルフォーム名 | |||||
戻り値 | オブジェクト |
![]() |
formNameのフォームをダイナミックフォームに変換したもの | |||||
FORM Convert to dynamic コマンドは、formName 引数で指定したフォーム(クラシックフォーム)をダイナミックフォームへと変換し、それをオブジェクト型で返します。
クラシックフォーム とはバイナリーフォーマットでストラクチャーファイルに保存されている4D フォームのことです。ダイナミックフォーム とは4D オブジェクト(あるいは .json ファイル)でストラクチャーが定義されているフォームのことです。詳細な情報については、ダイナミックフォームの章を参照してください。
テーブルフォームを変換したい場合、aTable 引数にフォームテーブルを渡し、formName 引数にフォーム名を文字列として渡します。プロジェクトフォームの場合、フォーム名を直接formName 引数に渡します。
DIALOG コマンドに対して返されたオブジェクトを渡せば直接フォームが実行されるようにするために、FORM Convert to dynamic はいくつかのルールを適用しながらフォームを変換します:
注: フォームメソッドおよびフォームオブジェクトメソッドへの参照は、内部IDで書き出しがされます。これは、カレントデータベース内のみにおいて、formName のフォームのメソッドが変更されていない場合にのみ有効です。書き出されたフォームを他のコンテキストで使用したい場合、フォーム、あるいはフォームオブジェクト"メソッド"プロパティに、プロジェクトメソッド名を割り当てる必要があります(例題参照)。
クラシックなフォームを変換し、編集した後、それを表示したい場合を考えます。
元のフォームはこちらです:
C_OBJECT($dynForm)
$dynForm:=FORM Convert to dynamic("FormToConvert")
$dynForm.pages[1].objects.TitleArea.stroke:="red"
$dynForm.pages[1].objects.bOK.method:="myMethod" // プロジェクトメソッドを割り当てる
DIALOG($dynForm)
コードを実行した結果がこちらです:
プロダクト: 4D
テーマ: フォーム
番号:
1570
初出: 4D v17 R3
ランゲージリファレンス ( 4D v20 R7)