読み込み後の初期化
プロパティの保存と読み込み への移動
コンポーネントがその格納先の記述ファイルからプロパティ値をすべて読み取ったら、Loaded という名前の仮想メソッドが呼び出され、その中で、必要な初期化が行われます。Loaded の呼び出しは、フォームおよびそのコントロールが表示される前に行われるので、初期化による画面のちらつきを心配する必要はありません。
コンポーネントがプロパティ値を読み込んだ後にコンポーネントを初期化するには、Loaded メソッドをオーバーライドします。
メモ: どのような Loaded メソッドでも、まず最初に、継承した Loaded メソッドを呼び出す必要があります。これにより、独自のコンポーネントを初期化する前に、継承したすべてのプロパティが必ず正しく初期化されるようになります。
以下のコードは、TDatabase コンポーネントから抜粋したものです。読み込み後、データベースは格納時に開いていた接続の再確立を試み、接続中に発生する例外の処理方法を指定しています。
procedure TDatabase.Loaded;
begin
inherited Loaded; { call the inherited method first}
try
if FStreamedConnected then Open { reestablish connections }
else CheckSessionName(False);
except
if csDesigning in ComponentState then { at design time... }
Application.HandleException(Self) { let Delphi handle the exception }
else raise; { otherwise, reraise }
end;
end;