4D v14.3概要 |
||
|
4D v14.3
概要
概要
お使いのデータベースをコンパイルすることができます。コンパイルとは、すべてのメソッドをマシン言語に翻訳することです。データベースをコンパイルすると、コードの整合性を調べたり、実行速度を向上させることができます。さらに、コード全体を保護することも可能です。4D でデータベース開発を行い、それをスタンドアロンアプリケーションとして配布するまでの間で、コンパイルは不可欠な作業です。 コンパイル処理はすべて自動的に行われますが、コンパイルを実行するためには4D コードをより正確に記述する必要があります。『4D ランゲージリファレンス』マニュアルのコンパイラでは、コンパイルを目的としてプログラムを作成する上でのアドバイスや特定情報が提供されています。さらに、コンパイラーはプログラムのあらゆるエラーを指摘し、エラー箇所を示すという点に留意してください。 コンピューターは、“0”と“1”だけで命令が記述されている装置です。この2 進数による言語は“マシン語”と呼ばれます。マシンの心臓部であるマイクロプロセッサーは、この言語しか理解することができません。高水準コンピューター言語(C、C++、Java、BASIC、4D 等)で記述されたプログラムは、コンピューターのマイクロプロセッサーが理解できるように、まずマシン語に翻訳されます。 これを行うには、2 つの方法があります:
一連のステートメントをインタープリターを使用して実行する場合、その処理過程は次のような段階に分かれます:
このサイクルがプログラムの各ステートメントごとに行なわれます。このタイプの実行サイクルを処理するプログラムをインタープリターと呼びます。データベースの開発過程において、4D メソッドはインタープリターモードで実行されます。 コンパイル済みのプログラムは、実行前にプログラム全体が翻訳されます。この処理により、一連のマシン語のステートメントを納めた新しいファイルが生成されます。このファイルは繰り返し使用するために保存されます。翻訳は一度だけ行なわれ、このコンパイル版のプログラムは、繰り返し実行することができます。 このフェーズでは、そのプログラムが使用されることはまったくありません。翻訳を行うプログラムは“コンパイラー”と呼ばれます。 4D のコンパイラーは、データベース内のデータベースメソッドやプロジェクトメソッド、トリガー、フォームメソッド、オブジェクトメソッドをコンパイルします。アプリケーション内にこれらの要素がひとつも存在しない場合、コンパイラーがコンパイルする対象は何もありません。 コンパイルが正常に終了すると、オリジナルのデータベースと同じ方法でコンパイル済みデータベースを使用することができます。 コンパイルの第一の利点は、もちろん実行速度の向上です。さらに、コンパイルに直接関係する利点が2 つあります:
実行速度の向上は、コンパイル済みコードの2 つの特性によるものです。つまり、一度限りでダイレクトなコード翻訳、変数とメソッドのアドレスへのダイレクトなアクセスという2 つの特性です。
コンパイラーは、データベースのシンタックスチェッカーとしても機能します。作成したコードを系統的にチェックして、不明確な箇所があれば知らせます。一方、4Dではメソッドの実行時にのみこの処理が行なわれます。 例えば、あるメソッドには一連の判定文と、実行対象となる一連のステートメントが含まれているものとします。テストする数が非常に多い場合は、すべてのケースを完全にテストすることはほとんどありません。この場合、テストされていないケースにシンタックスエラーが含まれていたとしても、エンドユーザがそのケースに出会うまで分かりません。 コンパイル済みデータベースを使用すると、このような問題が起きなくなります。データベースをコンパイルする際、コンパイラーはデータベース全体を細かく調べ、各ステートメントを解析します。コンパイラーはあらゆるエラーを検出し、警告やエラーメッセージを生成します。 データベースをコンパイルしたら、アプリケーションビルダーを使用してインタープリターコードを消去することができます。これを行うと、レコードアクセスを除き、デザインモードへアクセスできなくなります。アプリケーションビルダーについてはを参照してください。 コンパイル済みデータベースでは開発に関連するコマンドを使用することができません。 コンパイルされたコンポーネントをホストデータベースにインストールすると、エクスプローラーから共有メソッドにアクセスでき、ホストデータベースからそのメソッドを呼び出すことができます。しかしそのコードはエクスプローラーのプレビューエリアやデバッガーに表示されません。共有されないプロジェクトメソッド名はまったく表示されません。コンポーネントに関する詳細は4Dコンポーネントの開発とインストールを参照してください。 利点は以下の通りです:
4D にはコンパイラーが組み込まれています。次のダイアログボックスを使用して、データベースをコンパイルします: デザインメニュー内のコンパイル開始コマンドやツールバーのコンパイラーボタンに関連付けられたメニューを使用して、カレント設定に基づきコンパイルを直接起動することもできます。 コンパイルはデータベース設定のコンパイラーページで設定されたコンパイルオプションを使用して実行されます。 データベースがコンパイルされると、実行メニューのインタープリター再起動やコンパイル済み再起動メニューを使用して、インタープリターモードとコンパイル済みモードを切り替えて実行できるようになります。4Dアプリケーションを終了する必要はありません (アプリケーションビルドを行ってインタプリターコードを削除している場合は除きます)。 データベースを開くダイアログボックスでも起動時にインタープリターモードとコンパイル済みモードを選択することができます (開くダイアログオプション参照)。 インタープリターモードでストラクチャーやコードを変更したら、それをコンパイルコードに反映させるために再コンパイルしなければなりません。 モードを変更すると、4Dは現在のモードを閉じ、新しいモードを開きます。つまりアプリケーションが閉じられ、再び開かれます。モードを移動するたびに4Dは以下のデータベースメソッドを実行します: On Exitデータベースメソッド -> On Startupデータベースメソッド |
プロパティ
プロダクト: 4D ARTICLE USAGE
デザインリファレンス ( 4D v14 R2) |