System.Classes.TReader.DefineProperty
Delphi
procedure DefineProperty(const Name: string; ReadData: TReaderProc; WriteData: TWriterProc; HasData: Boolean); override;
C++
virtual void __fastcall DefineProperty(const System::UnicodeString Name, TReaderProc ReadData, TWriterProc WriteData, bool HasData);
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure function |
public | System.Classes.pas System.Classes.hpp |
System.Classes | TReader |
説明
TReader オブジェクトが published プロパティであるかのように読み取るデータを定義します。
DefineProperty メソッドは,格納する必要があるデータを持つオブジェクトの DefineProperties メソッドによって内部的に呼び出されます。DefineProperties メソッドは汎用ファイラオブジェクトをパラメータにとります。データを読み出す場合,DefineProperties メソッドは TReader オブジェクトをとり,リーダーオブジェクトの DefineProperties メソッドを呼び出します。それから,DefineProperty メソッドはプロパティの名前およびそのデータを読み出します。
Name パラメータは,ストリーム殻読み出す「fake」プロパティの名前を指定します。
ReadData パラメータは,プロパティの値を表すオブジェクトのデータをリーダーオブジェクトへ読み出す手続き(格納するオブジェクトで定義)を示します。TReader オブジェクトの場合,WriteData パラメータは無視されます。
HasData パラメータは「偽の」プロパティが格納する(書き込む)データを持つかどうかを実行時に指定します。TReader オブジェクトの場合,HasData パラメータは無視されます。
DefineBinaryProperty メソッドと DefineProperty メソッドの相違点は,バイナリプロパティがファイラオブジェクトを介するのではなくストリームから直接読み出されることです。また,バイナリデータをテキストとして編集するのは,より困難です。