| 4D v13.4コンパイラコマンド | |||||||||||||||
|  | 
    4D v13.4
 コンパイラコマンド 
         | ||||||||||||||
| C_BLOB | C_INTEGER | C_REAL | IDLE | 
| C_BOOLEAN | C_LONGINT | C_STRING | |
| C_DATE | C_PICTURE | C_TEXT | |
| C_GRAPH | C_POINTER | C_TIME | 
IDLEコマンド以外のこれらのコマンドは、変数を宣言し、それらを指定したデータタイプとしてキャストします。変数を宣言することによって、変数のデータタイプに関連する曖昧さが解決されます。変数がこれらのコマンドのいずれかで宣言されていない場合には、コンパイラが変数のデータタイプを判断しようとします。フォームで使用される変数のデータタイプは、多くの場合、コンパイラで判断するのは困難です。このため、開発者がこれらのコマンドによってフォームで使用される変数を宣言することが特に重要です。
Note: 時間を節約するために、コンパイラウインドウにあるオプションを使用し、(コンパイラメソッドと呼ばれる) 変数定義メソッドの生成や更新を行うことができます。このオプションは、データベース内で使用されるすべての変数のタイプ指定を行う変数定義メソッドを自動作成します。
配列は変数で、コンパイルについては標準変数と同じ規則に従わなければなりません。配列の宣言命令は配列テーマ内にまとめられています。
これらの規則については、下記の節を参照してください:
以下の例は、コンパイラ用の基本的な変数宣言です:
以下の例は、プロジェクトメソッドOneMethodAmongOthersにて、3つの引数を宣言しています:
以下のプロジェクトメソッドCapitalizeは、文字列の引数を受けとり、文字列の結果を返します:
以下のプロジェクトメソッドSEND PACKETSは、引数として時間と、可変の数のテキスト引数を受け取ります:
  ` SEND PACKETS プロジェクトメソッド
  ` SEND PACKETS ( Time ; Text { ; Text2... ; TextN } )
  ` SEND PACKETS ( docRef ; Data { ; Data2... ; DataN } )
 
 C_TIME($1)
 C_TEXT(${2})
 C_LONGINT($vlPacket)
 
 For($vlPacket;2;Count parameters)
    SEND PACKET($1;${$vlPacket})
 End forプロジェクトメソッドCOMPILER_Param_Predeclare28は、コンパイル用に他のプロジェクトメソッドのシンタックスを事前に宣言しています:
  ` COMPILER_Param_Predeclare28 プロジェクトメソッド
 
 C_REAL(OneMethodAmongOthers;$1) ` OneMethodAmongOthers ( Real ; Integer { ; Long } )
 C_INTEGER(OneMethodAmongOthers;$2) ` ...
 C_LONGINT(OneMethodAmongOthers;$3) ` ...
 C_STRING(Capitalize;255;$0;$1) ` Capitalize ( String ) -> String
 C_TIME(SEND PACKETS;$1) ` SEND PACKETS ( Time ; Text { ; Text2... ; TextN } )
 C_TEXT(SEND PACKETS;${2}) ` ...
	プロダクト: 4D
	テーマ: コンパイラ
	
        
        
	
C_BLOB
C_BOOLEAN
C_DATE
C_GRAPH
C_INTEGER
C_LONGINT
C_PICTURE
C_POINTER
C_REAL
C_STRING
C_TEXT
C_TIME
IDLE