System.Classes.TReader.DefineProperty

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

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);

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
procedure
function
public
System.Classes.pas
System.Classes.hpp
System.Classes TReader

Beschreibung

Definiert vom Reader-Objekt gelesene Daten so, als handelte es sich um eine published-Eigenschaft.

DefineProperty wird intern von der Methode DefineProperties eines Objekts aufgerufen, das Daten enthält, die gespeichert werden müssen. DefineProperties verwendet ein generisches Filer-Objekt als Parameter. Beim Lesen von Daten übernimmt DefineProperties ein TReader-Objekt und ruft dessen Methode DefineProperties auf. Anschließend liest DefineProperty den Namen und die Daten der Eigenschaft.

Der Parameter Name bezeichnet den Namen der verborgenen Eigenschaft, die aus dem Stream gelesen werden soll.

Der Parameter ReadData verweist auf eine Prozedur (definiert im speichernden Objekt), welche die Daten des Objekts liest, die einen Eigenschaftswert repräsentieren. Bei TReader wird der Parameter WriteData ignoriert.

Der Parameter HasData bestimmt zur Laufzeit, ob die Eigenschaft Daten enthält, die gespeichert (geschrieben) werden müssen. Bei TReader wird der Parameter HasData ignoriert.

Der Unterschied zwischen DefineBinaryProperty und DefineProperty liegt darin, dass die binäre Eigenschaft direkt aus einem Stream gelesen wird, anstatt ein Filer-Objekt zu durchsuchen. Zudem lassen sich binäre Daten nicht so einfach bearbeiten wie Text.

Siehe auch