デフォルトの型指定​このエリアでは、曖昧なデータベースオブジェクトのデフォルト型を設定します。実数または倍長整数に数値を型指定します。プロジェクトにて型指定ディレクティブが書かれている場合、そちらが優先されます。倍長整数を指定することでデータベースを最適化できます。実数または倍長整数にボタンを型指定します。プロジェクトにて型指定ディレクティブが書かれている場合、そちらが優先されます。この型指定はボタンのほか、チェックボックス、ピクチャーボタン、ボタングリッド、ラジオボタン、ピクチャーポップアップメニューおよびドロップダウンリストが対象となります。クリックしたときにコンパイラーが自動生成するコンパイラーメソッドの名前を設定できます。5つのコンパイラーメソッドが生成されます。プロセス変数定義を集約します。インタープロセス変数定義を集約します。プロセス配列定義を集約します。インタープロセス配列定義を集約します。C_LONGINT(mymethod;$1))。いう接頭辞が付きます。これは変更できません。31文字以下でなければなりません。準じたものでなければなりません。Symbolファイルが作成されます。2つのリストは、4つのカラムに分かれています:プロジェクト内で使用されているプロセス変数、インタープロセス変数、および配列の名前。ABC順に表示されます。変数の型は、コンパイラー命令コマンドにより設定されるか、変数の使われ方に基づいてコンパイラーが判断します。変数の型が特定できない場合、このカラムは空欄になります。変数が配列の場合に、その次元数が表示されます。コンパイラーが変数の型を決定したコンテキストへの参照。変数が複数のコンテキストで使用されている場合は、コンパイラーが変数の型を決定する際に使用したコンテキストが表示されます。定義されたデータベースメソッド名が表示されます。定義されたメソッド名が表示されます。続けてテーブル名が表示されます。続けてフォーム名が表示されます。続けてオブジェクトメソッド名が表示されます。続けてそのオブジェクトが使用されるフォーム名が表示されます。各リストの最後には、プロセス変数とインタープロセス変数のサイズがバイト単位で表示されます。コンパイル時に、コンパイラーは特定のプロセス変数が使用されているプロセスを判別できません。プロセス変数には、プロセスごとに異なる値が格納されている可能性があります。そのため、新規プロセスが開始されるたびに、すべてのプロセス変数が意図的に複製されます。したがって、メモリ上でこれらのプロセス変数が占める容量に注意することが推奨されます。プロセス変数に使われる容量は、プロセスのスタックサイズとは関連しないことに留意が必要です。ローカル変数のリスト​ローカル変数のリストは、データベースメソッド、プロジェクトメソッド、トリガー、フォームメソッド、オブジェクトメソッドごとに、4D内と同じ順番で並べられています。いう名前で作成されます。エラーに直接アクセスすることができますが、マシンからマシンへ送信できるエラーファイルがあると便利な場合があります。XMLフォーマットで生成されます。これを利用して、エラー表示用に独自のインターフェースを作成することもできます。エラーファイルの長さは、コンパイラーにより生成されるエラーと警告の数により変わります。作成された順序で並べられます。セクションには、タイプ定義がおこなえないものと識別が不明確なものがすべて集められます。セクションがありません。内に説明とともに表示されます。コンパイラーは、データ型やシンタックスに関する矛盾を含む式で見つけると、このタイプのエラーをレポートします。4Dのメソッドエディターで開かれ、エラーを含む行が反転表示されます。これらのエラーは、プロジェクトのコンパイルを不可能にします。2つです:プロセス変数のデータ型が決定できなかった。2つのオブジェクトが同じ名称である。全般的なエラーは特定のメソッドに関連していないため、このような名前が付けられています。最初のケースは、コンパイラーがプロジェクトのいずれの箇所でも、指定された型定義を実行できなかった場合です。2番目のケースでは、いずれのオブジェクトに特定の名前を割り当てるべきかを決定できません。警告はエラーではありません。警告により、プロジェクトがコンパイルできなくなることはありません。これは、エラーになる可能性のあるコードを示すだけです。コンパイラーウィンドウにおいて、警告はイタリック体で表示されます。4Dのメソッドエディターで開かれ、その警告に関係する行が反転表示されます。範囲チェック​4Dコンパイラーによって生成されたコードでは、配列要素へのアクセスや文字参照が実際に配列や文字列の範囲内でおこなわれているかが自動的に確認されます。範囲外へのアクセスは、ランタイム実行エラーを誘発します。コード内で間違いがないと思われる箇所に対して範囲チェックを適用したくないときもあります。具体的には、かなりの回数繰り返されるループに関し、旧式のマシン上でコンパイル済みデータベースを実行すると、範囲チェックにより処理速度が著しく低下するおそれがあります。関連するコードに誤りがなく、システムエラーを引き起こさないことが確実であれば、範囲チェックをローカル上で無効にすることができます。