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

ホーム

 
4D v19.8
Compile project

Compile project 


 

Compile project {( {projectFile}{;}{options} )} -> 戻り値 
引数   説明
projectFile  ファイルオブジェクト in コンパイルするプロジェクトの.4DProject ファイル
options  オブジェクト in コンパイルオプションを指定するオブジェクト
戻り値  オブジェクト in コンパイルのステータスの情報を格納したオブジェクト

説明   

Compile project は、カレントのホストプロジェクト、またはprojectFile 引数で指定したプロジェクトをコンパイルします。コンパイルについてのより詳細な情報については、Compilation page on developer.4d.com を参照してください。

デフォルトで、このコマンドはストラクチャー設定で定義されているコンパイラオプションを使用します。任意のoptions 引数を渡すことで、それらを上書きすることができます。以下のシンタックスがサポートされています:

  • Compile project(): 現在開かれているプロジェクトを、ストラクチャー設定で定義されているオプションを使用してコンパイルします。
  • Compile project (options): 現在開かれているプロジェクトをコンパイルします。options 引数で定義されたオプションでストラクチャー設定を上書きします。
  • Compile project (projectFile):  projectFile 引数で指定された4DProject ファイルを、ストラクチャー設定で定義されているオプションを使用してコンパイルします。
  • Compile project (projectFile; options): 引数で指定された4DProject ファイルを、options 引数で定義されたオプションでストラクチャー設定を上書きします。

注: このコマンドを使用してバイナリーデータベースをコンパイルすることはできません。

コンパイラウィンドウとは異なり、このコマンドではコンパイルするコンポーネントを明示的に指定する必要があります。Compile project でプロジェクトをコンパイルする場合、options 引数のcomponents プロパティを使用してそのコンポーネントを宣言する必要があります。なお、そのコンポーネントは既にコンパイルされている必要があるという点に注意してください(バイナリーコンポーネントはサポートされます)。

コンパイルされたコードは、options 引数のtargets プロパティでの指定によって、DerivedData または Libraries フォルダに格納されています。.4dz ファイルを作成したい場合、コンパイルされたプロジェクトを手動でZIP圧縮するか、プロジェクトパッケージのビルド 機能を使用する必要があります。

targets プロパティに空のコレクションを渡した場合、Compile project はコンパイルせずにシンタックスチェックを実行します。

コンパイルエラーがもしあれば、errors コレクション内にオブジェクトとして返されます。

注: 他のコンパイルの実行中に、このコマンドを呼び出すことはできません(例えば、コンパイルウィンドウからローンチしたコンパイルが実行中である場合など)。

options 引数はオブジェクト型です。利用可能なコンパイルオプションは以下の通りです。

 

プロパティ詳細
targetsコレクションまたは文字列取り得る値: "x86_64_generic"、"arm64_macOS_lib"。また空のコレクションを渡すことでシンタックスチェックのみを実行させることもできます。
typeInference文字列"all": 全ての変数を定義させる "locals": ローカル変数のみ自動定義させる "none": 自動変数定義は行わない
defaultTypeForNumerics整数取り得る値: Is real または Is longint
defaultTypeForButtons整数取り得る値: Is real または Is longint
generateSymbolsブール返されたオブジェクトの.symbol 内にSymbol 情報を生成するためにはTrue
generateTypingMethods文字列型指定メソッドを生成する際にリセット(Reset)するか追加(append)するかを選択します。値が"append"だった場合、既存の変数宣言は変更されません(コンパイラウィンドウの振る舞い)
componentsコレクション独立したコンポーネントへの4D.File オブジェクトのコレクション(コンポーネントは既にコンパイルされている必要があります)。

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次元配列を意味します
codeObjectプロセス変数とインタープロセス変数のみ: 変数がどこで定義されたかの詳細

methods[ ].code および errors[ ].code 内のcode プロパティは、以下のプロパティを持ったオブジェクトです:

プロパティ詳細
type文字列
  • "projectMethod",
  • "formObjectMethod",
  • "databaseMethod",
  • "triggerMethod",
  • "executeOnServer" (サーバー上で実行属性 をつけてプロジェクトメソッドを呼び出した場合),
  • "executeFormula" (フォーミュラをPROCESS 4D TAGS 経由で実行した、または4D Write Pro ドキュメント内でフォーミュラを評価した)
  • "class"
  • "classFunction"
path文字列メソッドパス(METHOD OPEN PATH と同じフォーマット)
file4D.Fileメソッドファイル
Returned depending on the value of the type property:
methodName文字列プロジェクトメソッド
tableNumberテーブル数(トリガ、テーブルフォームメソッドまたはテーブルフォームオブジェクトメソッドに対して返されます)
formName文字列フォーム名(フォームメソッドに対して返されます)
objectName文字列フォームオブジェクト名(オブジェクトメソッドに対して返されます)
className文字列クラス名
functionName文字列クラスのファンクション名
databaseMethodNumberデータベースメソッドのインデックス

 シンタックスチェックのみを実行したい場合、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)



参照 

BUILD APPLICATION

 
プロパティ 

プロダクト: 4D
テーマ: コンパイラ
番号: 1760

 
ページの目次 
 
履歴 

New
初出: 4D v19

 
ARTICLE USAGE

ランゲージリファレンス ( 4D v19)
ランゲージリファレンス ( 4D v19.1)
ランゲージリファレンス ( 4D v19.4)
ランゲージリファレンス ( 4D v19.5)
ランゲージリファレンス ( 4D v19.6)
ランゲージリファレンス ( 4D v19.7)
ランゲージリファレンス ( 4D v19.8)