System.Classes.RegisterClass
Delphi
procedure RegisterClass(AClass: TPersistentClass);
C++
extern DELPHI_PACKAGE void __fastcall RegisterClass(TPersistentClass AClass);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | System.Classes.pas System.Classes.hpp |
System.Classes | System.Classes |
説明
持続的オブジェクトのクラスを登録して,そのクラス型を取り出せるようにします。
RegisterClass 手続きは,クラスをストリームに登録します。フォームの宣言で参照されるフォームクラスやコンポーネントクラス(インスタンス変数)は自動的に登録されます。アプリケーションで使用されるその他のクラスは,インスタンスを保存する場合には RegisterClass を呼び出して明示的に登録する必要があります。
クラスを登録すると,コンポーネントストリームシステムによって読み出しまたは保存できるようになります。未登録のクラス名を渡された場合,IdentToInt は nil(Delphi)または NULL(C++)を返します。FindClass は,未登録クラスに対して例外を生成します。
AClass は TPersistent の派生クラスです。Register 手続きの RegisterClass を呼び出します。Delphi では,クラスが定義されているユニットの initialization 部で呼び出すこともできます。C++ では,クラスが定義されているコンパイルユニットの名前空間で呼び出すこともできます。
クラスが登録されていると,RegisterClass は何もしません。同じ名前のクラスがすでに登録されている場合,RegisterClass は EFilerError 例外を生成します。
メモ: RegisterNoIcon または RegisterComponents メソッドを使ってコンポーネントを登録しても,そのコンポーネントが使用するクラスは自動的には登録されません。そのクラスのために RegisterClass を呼び出す必要があります。