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 a partir de los bytes de origen sin modificaciones, olsDirty / olsMustWrite para objetos modificados o con actualización obligatoria, olsFlushed para objetos ya serializados en el documento de salida y olsReleased para objetos cuyos búferes de respaldo se liberaron
Consultas de estado
GetLoadedObjectLifecycleState informa del estado de cualquier número de objeto, devolviendo olsRaw para los miembros comprimidos cuyo cuerpo aún no se ha materializado; GetLoadedObjectLifecycleStatistics agrega los recuentos por estado, incluidos los nuevos campos RawCount, ParsedCount y FlushedCount; THPDFObject.MarkRaw, MarkParsed y MarkFlushed establecen los estados explícitamente
Comportamiento de guardado
Las rutas de guardado completo mueven cada objeto emitido a olsFlushed (objeto contenedor e interno), las instantáneas de transacciones de grafo restauran el estado capturado al revertir, y la línea base de actualización incremental sigue restableciendo los objetos a olsClean para que las revisiones añadidas contengan solo entradas marcadas explícitamente como modificadas; IsDirty conserva su significado original de olsDirty u olsMustWrite, por lo que los nuevos estados nunca provocan reescrituras espurias