首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> Delphi

Delphi TReader 核心屬性與引用處理機制:Owner、Parent、Position、交叉引用三階段

     編輯:Delphi

20.2.3.1 TReader 核心屬性與方法完整清單

1. Owner 屬性

property Owner: TComponent。儲存將賦予讀出元件 Owner 屬性的元件。

2. Parent 屬性

property Parent: TComponent。儲存將賦予讀出所有控制項 Parent 屬性的元件。

3. Position 屬性

property Position: Longint。關聯串流當前讀取位置(含緩衝區大小)。Reader.Position > Stream.Position。設定超出緩衝區觸發 FlushBuffer。

4-6. 交叉引用三階段處理

BeginReferences:啟動讀取含相互引用元件序列,建立臨時名稱/物件列表。
FixupReferences:解析名稱轉為實例引用。
EndReferences:釋放臨時列表。
標準模式:

BeginReferences;
try
  { 讀取所有元件,名稱存入臨時列表 }
  FixupReferences;
finally EndReferences; end;

7-9. 列表讀取方法

  • ReadListBegin:讀列表起始標誌 (vaList),否則異常
  • ReadListEnd:讀列表結束標誌 (vaNull),否則異常
  • EndOfList:偵測 vaNull 回傳 True

TStrings.ReadData 範例:ReadListBegin → Clear → 迴圈 not EndOfList + ReadString + Add → ReadListEnd。

10. ReadSignature

讀取 Filer 標誌 TPF0 (4 字元),載入物件前驗證,防止讀取無效/過期資料。

11. ReadPrefix

讀取元件前綴標誌:繼承旗標 (ffInherited) 與建立序號 (ffChildPos)。ReadComponent 自動呼叫,亦可獨立使用。

12. OnFindMethod 事件

property OnFindMethod: TFindMethodEvent。讀取方法指標 (事件) 時觸發。FindMethod 未找到方法時,設 Error:=True 引發異常,False 抑制。MethodAddress 可取得 public 方法位址。動態 DFM 編程關鍵。

13. Error 方法

function Error(const Message: String): Boolean; virtual。protected 方法,回傳值決定是否繼續錯誤處理。True=繼續,False=忽略。預設回傳 False 並觸發 OnError。配合 try...except 讓使用者決定 if Error(E.Message) then raise。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved