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

ホーム

 
4D v20 R7
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 引数はオブジェクト型です。利用可能なコンパイルオプションは以下の通りです。

 

プロパティ詳細
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" だった場合、既存の変数宣言は事前に削除されます。
plugins4D.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次元配列を意味します
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)

 

プロジェクトをコンパイルするときに、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)



参照 

BUILD APPLICATION

 
プロパティ 

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

 
ページの目次 
 
履歴 

初出: 4D v19
変更: 4D v19 R5
変更: 4D v20.1

 
ARTICLE USAGE

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