ここは旧式の4DドキュメントWebサイトです。最新のアップデートされたドキュメントを読むには新サイトをご利用下さい→ developer.4d.com |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v20 R7
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圧縮するか、プロジェクトパッケージのビルド 機能を使用する必要があります。
targets プロパティに空のコレクションを渡した場合、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": 全ての変数はコード内で明示的に宣言されていなければなりません(旧式モード) "direct": 全ての変数はコード内で明示的に宣言されていなければなりません(直接型指定) | |
warnings | オブジェクトのコレクション | 警告の有効化状態を定義します | |
[].major | 数値 | 指定する警告のメインの番号、ドットの前 | |
[].minor | 数値 | 指定する警告の2つ目の番号、ドットの後 | |
[].enabled | ブール | 警告の有効化状態 |
Compile project によって返されるオブジェクトには、最大で以下3つのプロパティが格納されています:
プロパティ | 型 | 詳細 | ||
success | ブール | 保存アクションが成功した場合にはTrue、それ以外の場合にはFalse | ||
以下はerror または warningの場合にのみ返されます: | ||||
errors | オブジェクトのコレクション | コンパイルエラーまたは警告の詳細を格納したオブジェクトのコレクション | ||
isError | ブール | エラーであればTrue、それ以外の場合にはwarning | ||
message | 文字列 | エラーメッセージ | ||
code | オブジェクト | code オブジェクト | ||
line | 数値 | コード内でのエラーが発生した行番号。クラスメソッドについては、ファンクション内の行番号 | ||
lineInFile | 数値 | ファイル内での行番号(クラスメソッドの"line"とは異なります、また%attributes プリフィックス行を考慮に入れます) | ||
generateSymbols オプションがTrue に設定されている場合にのみ返されます: | ||||
symbol | オブジェクト | |||
interprocessVariables | オブジェクト | 全てのインタープロセス変数の一覧 | ||
variables | コレクション | variables オブジェクト のコレクション | ||
size | 数値 | |||
processVariables | オブジェクト | 全てのプロセス変数の一覧 | ||
variables | コレクション | variables オブジェクト のコレクション | ||
size | 数値 | |||
localVariables | オブジェクトのコレクション | メソッドごとのローカル変数の一覧 | ||
code | オブジェクト | code オブジェクト | ||
variables | コレクション | variables オブジェクト のコレクション | ||
methods | オブジェクトのコレクション | メソッドの一覧 | ||
code | オブジェクト | 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)
プロジェクトをコンパイルするときに、518.1と518.2の警告を無効化してコンパイルする場合:
var $options:={}
$options.warnings:=[]
$options.warnings.push({major: 518; minor: 1; enabled: False})
$options.warnings.push({major: 518; minor: 2; enabled: False})
var $result:=Compile project($options)
プロダクト: 4D
テーマ: コンパイラ
番号:
1760
初出: 4D v19
変更: 4D v19 R5
変更: 4D v20.1
ランゲージリファレンス ( 4D v20 R7)