Estados del ciclo de vida de objetos

Cada objeto de un documento cargado lleva un estado de ciclo de vida explícito de THPDFObjectLifecycleState: olsRaw para miembros comprimidos indexados pero no materializados, olsParsed para objetos materializados desde los bytes de origen sin modificaciones, olsDirty / olsMustWrite para objetos modificados u obligados a actualizarse, olsFlushed para objetos ya serializados en el documento de salida, y olsReleased para objetos cuyos buffers de respaldo fueron liberados

Consultas de estado

GetLoadedObjectLifecycleState reporta el estado de cualquier número de objeto y devuelve olsRaw para los miembros comprimidos cuyo cuerpo aún no se ha materializado; GetLoadedObjectLifecycleStatistics agrega conteos por estado, incluyendo los nuevos campos RawCount, ParsedCount y FlushedCount; THPDFObject.MarkRaw, MarkParsed y MarkFlushed establecen los estados explícitamente

Comportamiento al guardar

Las rutas de full-save mueven cada objeto emitido a olsFlushed (wrapper y objeto interno), los snapshots de la transacción del grafo restauran el estado capturado al hacer rollback, y la línea base de la actualización incremental sigue reiniciando los objetos a olsClean para que las revisiones agregadas contengan solo entradas explícitamente marcadas como dirty; IsDirty conserva su significado original de olsDirty o olsMustWrite, así que los nuevos estados nunca disparan reescrituras espurias