Método ApplyBiffPalettePlan
Valida y aplica atómicamente los 56 colores de destino de un plan de paleta BIFF
El método está disponible tanto en IXLSWorkbook como en TXLSXWorkbook
Sintaxis
function ApplyBiffPalettePlan( const APlan: TXLSBiffPalettePlan): Boolean;
Validación
El método devuelve False sin cambiar ninguna ranura cuando el plan no coincide con la paleta actual del libro
La validación cubre la generación y el hash FNV-1a de la paleta de origen, los 56 índices de ranuras públicos y físicos, cada color de origen, las marcas de bloqueo y de cambio, los recuentos agregados de ranuras y los colores de destino opacos
Un plan queda obsoleto tras cualquier cambio efectivo de la paleta, incluida una aplicación anterior y correcta del propio plan
Aplicación atómica
Toda la validación termina antes de que cambie la primera entrada de la paleta
El XLS clásico actualiza la matriz fija de la paleta y recompila una vez su buscador de coincidencias OKLab en caché
XLSX prepara una lista de reemplazo de invalidaciones de colores indexados antes de intercambiarla en el libro, y también recompila su buscador una vez
Las ranuras bloqueadas nunca pueden cambiar y un plan válido sin ranuras cambiadas se aplica correctamente sin hacer avanzar la generación de la paleta
Ejemplo
Plan := Workbook.BuildBiffPalettePlan;
if not Workbook.ApplyBiffPalettePlan(Plan) then
raise Exception.Create('The palette changed after planning');