物件生命週期狀態
已載入文件中的每個物件都帶有來自 THPDFObjectLifecycleState 的明確生命週期狀態:olsRaw 表示已索引但尚未具現化的壓縮成員,olsParsed 表示從來源位元組具現化且未經修改的物件,olsDirty / olsMustWrite 表示已修改或被要求更新的物件,olsFlushed 表示已序列化到輸出文件的物件,olsReleased 則是後端緩衝區已被釋放的物件
狀態查詢
GetLoadedObjectLifecycleState 會回報任一物件編號的狀態;對於本體尚未具體化的壓縮成員,傳回 olsRaw。GetLoadedObjectLifecycleStatistics 彙總各狀態的計數,包含新增的 RawCount、ParsedCount 與 FlushedCount 欄位;THPDFObject.MarkRaw、MarkParsed 與 MarkFlushed 則可明確設定狀態
儲存行為
完整儲存路徑會把每個輸出物件(包裝物件與內部物件)移到 olsFlushed,圖形交易快照在回滾時還原擷取當下的狀態,增量更新的基準仍把物件重設為 olsClean,因此附加的修訂版只包含被明確標髒的項目;IsDirty 維持原本 olsDirty 或 olsMustWrite 的語意,新狀態絕不會觸發多餘的重寫