インストール前のコンポーネントのテスト
コンポーネント作成の詳細:インデックス への移動
コンポーネントをツールパレットにインストールする前に,そのコンポーネントの実行時の動作をテストできます。このテストは新たに作成したコンポーネントのデバッグに役立ちます。このテクニックは,ツールパレットに表示するかどうかにかかわらず,すべてのコンポーネントに対して使用できます。インストールしたコンポーネントのテストについては,「インストールしたコンポーネントのテスト」を参照してください。
コンポーネントをパレットから選択しフォームに配置したときに,Delphi が実行するアクションをエミュレートすることにより,インストールされていないコンポーネントをテストします。
インストールされていないコンポーネントをテストする手順は次のとおりです。
- コンポーネントのユニットの名前を,フォームユニットの uses 節に追加します。
- そのコンポーネントを配置するフォームに,オブジェクトフィールドを 1 つ追加します。これは,コンポーネントを開発者が手作業で追加する場合と,Delphi が追加する場合との大きな相違点です。開発者は,フォームの型宣言の一番下の public 部にオブジェクトフィールドを追加します。これに対して Delphi は,型宣言の上方の Delphi 自身で管理している部分に追加します。フォームの型宣言の Delphi が管理する部分には,決してフィールドを追加しないでください。型宣言のこの部分の項目は,フォームファイルに格納されている項目に対応しています。フォーム上に存在しないコンポーネントの名前が追加されると,フォームファイルが無効になってしまう恐れがあります。
- フォームの OnCreate イベントにハンドラを結び付けます。
- フォームの OnCreate ハンドラでコンポーネントを構築します。コンポーネントのコンストラクタを呼び出した場合には,そのコンポーネントのオーナー(適切な時期にそのコンポーネントを破棄する責任を持つコンポーネント)を指定するパラメータを渡す必要があります。これについては,ほとんどすべての場合に,Self をオーナーとして渡すことになります。メソッドでは,Self はそのメソッドが所属するオブジェクトへの参照を表します。フォームの OnCreate ハンドラでは,Self はフォームへの参照です。
- コンポーネントの Parent プロパティを指定します。Parent プロパティの設定は,必ずコントロールを構築した直後に行います。コンポーネントの親は,そのコンポーネントをビジュアルに含んでいるようなコンポーネントです。多くの場合,コンポーネントが表示されるのはフォーム自身になりますが,グループボックスやパネルの場合もあります。通常,Parent は Self,つまりフォームに設定します。必ず,Parent はコントロールのほかのプロパティを設定する前に設定します。警告: 作成するコンポーネントがコントロールではない場合(つまり TControl またはその派生クラスから派生していない場合),この手順は飛ばしてください。誤って(コンポーネントの Parent ではなく)フォームの Parent プロパティを Self に設定してしまうと,オペレーティングシステムで問題が発生することがあります。
- 必要に応じて,ほかのコンポーネントプロパティを設定します。