20.2.1.1 TFiler對象的屬性和方法
1. Root屬性
聲明:property Root: TComponent;
Root 屬性給Filer對象指出被讀寫的對象中哪一個對象是根或主要擁有者。RootComponent和WriteRootComponent方法在讀和寫部件及其擁有的部件前先設置Root的值。
2. Ancestor屬性
聲明:property Ancestor: TPersistent;
Ancestor屬性用於往繼承下來的窗體中寫部件,因為當寫部件時,Write對象只需要寫入與所繼承的部件不同的屬性,所以在寫之前要跟蹤每個繼承的部件,並且比較它們的屬性。
如果Ancestor為nil,就表示沒有相應的繼承的部件,Writer對象應當將部件完全寫入流。Ancestor一般為nil,只有當調用WriteDescendant和WriteDescendantRes時,才給賦值。當編寫和覆蓋DefinePropertIEs時,必須設置Ancestor的值。
3. IgnoreChildren屬性
聲明:property Ignorechildren: Boolean;
IgnoreChildren屬性使一個Writer對象存儲部件時可以不存儲該部件擁有的部件。如果IgnoreChildren屬性為True,則Writer對象存儲部件不存它擁有的子部件。否則,Writer對象將所有其擁有的對象寫入流。
4. Create方法
聲明:constructor Create(Stream: TStream; BufSize: Cardinal);
Create方法創建一個新的Filer對象,建立它和流Stream的聯系;並且給它分配一個緩沖區Buffer。Buffer的大小由BufSize指定。
5. Defineproperty方法
聲明:procedure Defineproperty(const Name: String; ReadData: TReaderProc;
WriteData: TWriterProc; HasData: Boolean); virtual; abstract;
Defineproperty方法定義Filer