Stati del Ciclo di Vita degli Oggetti

Ogni oggetto in un documento caricato porta uno stato esplicito del ciclo di vita da THPDFObjectLifecycleState: olsRaw per i membri compressi indicizzati ma non ancora materializzati, olsParsed per gli oggetti materializzati dai byte sorgente senza modifiche, olsDirty / olsMustWrite per gli oggetti modificati o con scrittura obbligatoria, olsFlushed per gli oggetti già serializzati nel documento di output, e olsReleased per gli oggetti i cui buffer di supporto sono stati rilasciati

Interrogazione degli stati

GetLoadedObjectLifecycleState riporta lo stato di qualsiasi numero di oggetto, restituendo olsRaw per i membri compressi il cui corpo non è ancora stato materializzato; GetLoadedObjectLifecycleStatistics aggrega i conteggi per stato inclusi i nuovi campi RawCount, ParsedCount e FlushedCount; THPDFObject.MarkRaw, MarkParsed e MarkFlushed impostano gli stati esplicitamente

Comportamento al salvataggio

I percorsi di full-save spostano ogni oggetto emesso a olsFlushed (wrapper e oggetto interno), gli snapshot delle transazioni del grafo ripristinano lo stato catturato al rollback, e la baseline degli incremental update resetta ancora gli oggetti a olsClean così che le revisioni aggiunte contengano solo voci esplicitamente modificate; IsDirty conserva il significato originale di olsDirty o olsMustWrite, quindi i nuovi stati non innescano mai riscritture spurie