System.Classes.TFiler.Ancestor
Delphi
property Ancestor: TPersistent read FAncestor write FAncestor;
C++
__property TPersistent* Ancestor = {read=FAncestor, write=FAncestor};
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
property | public | System.Classes.pas System.Classes.hpp |
System.Classes | TFiler |
説明
継承されたコンポーネントのプロパティを書き出すかどうかを決定します。
Ancestor を直接使用しないでください。これは、継承されたフォーム内のコンポーネントを書き出すためにライタ オブジェクトのメソッドで内部的に使用されます。
ビジュアル フォーム継承では、ライタ オブジェクトは、継承されたプロパティ値と異なるプロパティ値のみ書き出す必要があります。プロパティの継承元になり得る各コンポーネントが Ancestor に常に記録され、書き出す前にプロパティが比較されます。Ancestor が nil(Delphi)または NULL(C++)の場合は、対応する継承元コンポーネントが存在しないので、ライタ オブジェクトはコンポーネントをストリームに完全に書き出します。
ビジュアル フォーム継承で作成されたフォームを書き出す場合、Ancestor は非 nil(Delphi)または 非 NULL(C++)のみです。ストリーミング システムでは、WriteDescendent と WriteDescendentRes を使用して、そのようなフォームをストリームに書き出します。
DefineProperties メソッドを作成またはオーバーライドする際は、Ancestor が設定されている場合があることに留意します。また、必要に応じてプロパティを作成したり省略しなければならない場合もあります。通常、DefineProperty の read 手続きでは Ancestor の値を無視します。