| 4D v20.1Compile project | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|  | 
    4D v20.1
 Compile project 
         | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Compile project {( {projectFile}{;}{options} )} -> 戻り値 | ||||||||
| 引数 | 型 | 説明 | ||||||
| projectFile | ファイルオブジェクト |   | コンパイルするプロジェクトの.4DProject ファイル | |||||
| options | オブジェクト |   | コンパイルオプションを指定するオブジェクト | |||||
| 戻り値 | オブジェクト |   | コンパイルのステータスの情報を格納したオブジェクト | |||||
Compile project は、カレントのホストプロジェクト、またはprojectFile 引数で指定したプロジェクトをコンパイルします。コンパイルについてのより詳細な情報については、Compilation page on developer.4d.com を参照してください。
デフォルトで、このコマンドはストラクチャー設定で定義されているコンパイラオプションを使用します。任意のoptions 引数を渡すことで、それらを上書きすることができます。以下のシンタックスがサポートされています:
注: このコマンドを使用してバイナリーデータベースをコンパイルすることはできません。
コンパイラウィンドウとは異なり、このコマンドではコンパイルするコンポーネントを明示的に指定する必要があります。Compile project でプロジェクトをコンパイルする場合、options 引数のcomponents プロパティを使用してそのコンポーネントを宣言する必要があります。なお、そのコンポーネントは既にコンパイルされている必要があるという点に注意してください(バイナリーコンポーネントはサポートされません)。
コンパイルされたコードは、options 引数のtargets プロパティでの指定によって、DerivedData または Libraries フォルダに格納されています。.4dz ファイルを作成したい場合、コンパイルされたプロジェクトを手動でZIP圧縮するか、プロジェクトパッケージのビルド 機能を使用する必要があります。
プロパティに空のコレクションを渡した場合、Compile project はコンパイルせずにシンタックスチェックを実行します。
コンパイルエラーがもしあれば、errors コレクション内にオブジェクトとして返されます。
注: 他のコンパイルの実行中に、このコマンドを呼び出すことはできません(例えば、コンパイルウィンドウからローンチしたコンパイルが実行中である場合など)。
options 引数はオブジェクト型です。利用可能なコンパイルオプションは以下の通りです。
| プロパティ | 型 | 詳細 | 
| components | コレクション | 依存したコンポーネントへの4D.File オブジェクトのコレクション(コンポーネントは既にコンパイルされている必要があります)。 | 
| defaultTypeForButtons | 整数 | 取り得る値: Is real または Is longint | 
| defaultTypeForNumerics | 整数 | 取り得る値: Is real または Is longint | 
| generateSymbols | ブール | 返された.symbol オブジェクト内にsymbol 情報を生成するためにはTrue | 
| generateSyntaxFile | ブール | プロジェクトの\Resources\en.lproj フォルダに コード補完のためのシンタックスファイル を生成するためにはTrue | 
| generateTypingMethods | 文字列 | 型指定メソッドを生成する際にリセット(Reset)するか追加(append)するかを選択します。値が"append"だった場合、既存の変数宣言は変更されません(コンパイラウィンドウの振る舞い)。値が"reset" だった場合、既存の変数宣言は事前に削除されます。 | 
| plugins | 4D.Folder オブジェクト | カレントのプロジェクトのPlugins フォルダ ではなく、使用したいプラグインのフォルダ。このプロパティは、projectFile シンタックスを使用した場合にのみ利用可能です。 | 
| targets | 文字列のコレクション | 取り得る値: "x86_64_generic"、"arm64_macOS_lib"。また空のコレクションを渡すことでシンタックスチェックのみを実行させることもできます。 | 
| typeInference | 文字列 | "all": 全ての変数を定義させる "locals": ローカル変数のみ自動定義させる "none": 自動変数定義は行わない | 
Compile project によって返されるオブジェクトには、最大で以下3つのプロパティが格納されています:
| プロパティ | 型 | 詳細 | ||
| success | ブール | 保存アクションが成功した場合にはTrue、それ以外の場合にはFalse | ||
| 以下はerror または warningの場合にのみ返されます: | ||||
| errors | オブジェクトのコレクション | コンパイルエラーまたは警告の詳細を格納したオブジェクトのコレクション | ||
| isError | ブール | エラーであればTrue、それ以外の場合にはwarning | ||
| message | 文字列 | エラーメッセージ | ||
| code | オブジェクト | コードオブジェクト | ||
| line | 数値 | コード内でのエラーが発生した行番号。クラスメソッドについては、ファンクション内の行番号 | ||
| lineInFile | 数値 | ファイル内での行番号(クラスメソッドの"line"とは異なります、また%attributes プリフィックス行を考慮に入れます) | ||
| generateSymbols オプションがTrue に設定されている場合にのみ返されます: | ||||
| symbol | オブジェクト | |||
| interprocessVariables | オブジェクト | 全てのインタープロセス変数の一覧 | ||
| variables | コレクション | 変数オブジェクト のコレクション | ||
| size | 数値 | |||
| processVariables | オブジェクト | 全てのプロセス変数の一覧 | ||
| variables | コレクション | 変数オブジェクト のコレクション | ||
| size | 数値 | |||
| localVariables | オブジェクトのコレクション | メソッドごとのローカル変数の一覧 | ||
| code | オブジェクト | コードオブジェクト | ||
| variables | コレクション | 変数オブジェクト のコレクション | ||
| methods | オブジェクトのコレクション | メソッドの一覧 | ||
| code | オブジェクト | コードオブジェクト | ||
| callCount | 数値 | このメソッドが呼び出された回数 | ||
| params | コレクション | 引数タイプのコレクション(Value Type の数値コード) | ||
| threadSafe | ブール | このメソッドがスレッドセーフであるかを示します | 
詳細な情報については、Compilation tools を参照してください。
interprocessVariables.variables および processVariables.variables には以下の構造を持ったオブジェクトが格納されます:
| プロパティ | 型 | 詳細 | 
| name | 文字列 | 変数名 | 
| type | 数値 | 変数の型(Value type コマンドで返される型) | 
| arrayDimension | 数値 | 配列のみ: 1 は1次元配列を、2 は2次元配列を意味します | 
| code | Object | プロセス変数とインタープロセス変数のみ: 変数がどこで定義されたかの詳細 | 
methods[ ].code および errors[ ].code 内のcode プロパティは、以下のプロパティを持ったオブジェクトです:
| プロパティ | 型 | 詳細 | 
| type | 文字列 | 
 | 
| path | 文字列 | メソッドパス(METHOD OPEN PATH と同じフォーマット) | 
| file | 4D.File | メソッドファイル | 
| Returned depending on the value of the type property: | ||
| methodName | 文字列 | プロジェクトメソッド | 
| table | Number | テーブル数(トリガ、テーブルフォームメソッドまたはテーブルフォームオブジェクトメソッドに対して返されます) | 
| formName | 文字列 | フォーム名(フォームメソッドに対して返されます) | 
| objectName | 文字列 | フォームオブジェクト名(オブジェクトメソッドに対して返されます) | 
| className | 文字列 | クラス名 | 
| functionName | 文字列 | クラスのファンクション名 | 
| databaseMethod | Number | データベースメソッドのインデックス | 
 シンタックスチェックのみを実行したい場合、targets 引数には空のコレクションを渡します:
 var $options;$status : Object
 $options:=New object
 $options.targets:=New collection // シンタックスチェックのために空のコレクションを渡す
 $status:=Compile project($options)
カレントのプロジェクトを、ストラクチャー設定のコンパイルオプションだけを使用してコンパイルする:
 var $status : Object
 $status:=Compile project
Silicon Mac 上において、カレントのプロジェクトをARM のみに対してコンパイルする:
 var $options;$status : Object
 $options:=New object
 $options.targets:=New collection("arm64_macOS_lib")
 $status:=Compile project($options)
カレントプロジェクトでないプロジェクトをコンパイルする:
 var $status : Object
 var $projectFile: 4D.File
 $projectFile:=Folder(fk documents folder).file("Databases/myApp/Project/myApp.4DProject")
 $status:=Compile project($projectFile)
プロジェクトをコンパイルし、そのコンポーネントを宣言する:
 var $options;$status : Object
 var $component : 4D.File
 $options:=New object
 $component:=Folder(fk documents folder).file("Components/myComponent.4dz")
 $options.components:=New collection($component)
 $status:=Compile project($options)
	プロダクト: 4D
	テーマ: コンパイラ
	番号: 
        1760
        
        
        
	

	初出: 4D v19
	変更: 4D v19 R5
	変更: 4D v20.1
	
	
	
	
	
	ランゲージリファレンス ( 4D v20.1)
	
	
Parent of : Compile project ( 4D v20)
 コメントを追加
コメントを追加