Método ApplyBiffPalettePlan
Valida e aplica atomicamente as 56 cores de destino de um plano de paleta BIFF
O método está disponível tanto em IXLSWorkbook quanto em TXLSXWorkbook
Sintaxe
function ApplyBiffPalettePlan( const APlan: TXLSBiffPalettePlan): Boolean;
Validação
O método retorna False sem alterar nenhum slot quando o plano não corresponde à paleta atual da pasta de trabalho
A validação abrange a geração da paleta de origem e o hash FNV-1a, todos os 56 índices de slots públicos e físicos, cada cor de origem, os sinalizadores de bloqueio e de alteração, as contagens agregadas de slots e as cores de destino opacas
Um plano se torna obsoleto após qualquer alteração efetiva da paleta, incluindo uma aplicação anterior bem-sucedida desse mesmo plano
Aplicação atômica
Toda a validação é concluída antes que a primeira entrada da paleta seja alterada
O XLS clássico atualiza a matriz fixa da paleta e reconstrói seu correspondente OKLab em cache uma única vez
O XLSX prepara uma lista de substituição de cores indexadas antes de trocá-la na pasta de trabalho e também reconstrói seu correspondente uma única vez
Slots bloqueados nunca podem ser alterados e um plano válido sem slots alterados é concluído com sucesso sem avançar a geração da paleta
Exemplo
Plan := Workbook.BuildBiffPalettePlan;
if not Workbook.ApplyBiffPalettePlan(Plan) then
raise Exception.Create('The palette changed after planning');