ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com

ホーム

 
4D v20 R7
FORM Convert to dynamic

FORM Convert to dynamic 


 

FORM Convert to dynamic ( {aTable ;} formName ) -> 戻り値 
引数   説明
aTable  テーブル in フォームテーブル
formName  テキスト in "クラシック"プロジェクトフォーム名またはテーブルフォーム名
戻り値  オブジェクト in formNameのフォームをダイナミックフォームに変換したもの

説明   

FORM Convert to dynamic コマンドは、formName 引数で指定したフォーム(クラシックフォーム)をダイナミックフォームへと変換し、それをオブジェクト型で返します。

クラシックフォーム とはバイナリーフォーマットでストラクチャーファイルに保存されている4D フォームのことです。ダイナミックフォーム とは4D オブジェクト(あるいは .json ファイル)でストラクチャーが定義されているフォームのことです。詳細な情報については、ダイナミックフォームの章を参照してください。

テーブルフォームを変換したい場合、aTable 引数にフォームテーブルを渡し、formName 引数にフォーム名を文字列として渡します。プロジェクトフォームの場合、フォーム名を直接formName 引数に渡します。

DIALOG コマンドに対して返されたオブジェクトを渡せば直接フォームが実行されるようにするために、FORM Convert to dynamic はいくつかのルールを適用しながらフォームを変換します:

  • リスト参照は、lists.json ファイルを参照するJSON ポインターではなく、リスト名として書き出されます。
  • 命名フィルターおよび命名表示フォーマット(の接頭辞を使用しているもの)はfilters.json ファイルを参照するJSON ポインターではなく、値として書き出されます。
  • ピクチャーライブラリのピクチャーはこのコマンドによっては書き出されないため、ピクチャーライブラリのピクチャーを参照しているオブジェクトは変換後も引き続きライブラリを参照しつづけます。"icon"プロパティには特殊なurlである"pictlib:xx" が使用され、このxx はライブラリのid が入ります。
  • スタティックなピクチャーは、ピクチャー型のオブジェクトプロパティとして変換されます。
  • 廃止予定の古いオブジェクトは無視されます。ダイナミックフォームでサポートされないオブジェクトまたはプロパティの一覧については、 の段落を参照してください。

注: フォームメソッドおよびフォームオブジェクトメソッドへの参照は、内部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)


コードを実行した結果がこちらです:



参照 

DIALOG
Export structure file

 
プロパティ 

プロダクト: 4D
テーマ: フォーム
番号: 1570

Feature(s) not available in 4D 32 bits

 
ページの目次 
 
履歴 

初出: 4D v17 R3

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v20 R7)