Prezados, temos um processo de geração de DANFe em massa, e precisamos acelerar ele, tivemos um percalço no caminho e problemas com as Threads porque o FastReport precisa de duas configurações para funcionarem corretamente com Threads paralelas, mesmo pedindo para silenciar os diálogos o problema acontece, e ainda tem um segundo problema que é o cache interno do FastReport, fazendo que dentro de um range muito alto de documentos algumas DANFe ficassem com o mesmo conteúdo.
Felizmente basta alterar duas propriedades para resolver o problema.
// Desabilita todo e qualquer tipo de mensagem
frxReport.EngineOptions.SilentMode := True;
// Habilita o FR a trabalhar com multiplas threads com segurança
frxReport.EngineOptions.EnableThreadSafe := True;
// Desabilita o cache, que no caso de múltiplas threas pode dar conflito de conteúdo entre arquivos.
frxReport.EngineOptions.UseFileCache := false;
Segue os arquivos atualizados.
ACBrNFeDANFEFR.pas
ACBrNFeDANFEFRDM.pas