Boa tarde a todos,
Há alguns dias estava com um problema onde a aplicação servidor ficava travada ao enviar um e-mail pela aplicação cliente. Até acessar o servidor e clicar no OK da mensagem, outros clientes que tentavam realizar as requisições não conseguiam pois o mesmo estava com a mensagem aberta.
O erro que aparecia era a mensagem abaixo:
[Content]
RLNFe: Erro durante a preparação do relatório
EdxGdipException(Invalid operation in GDI+ (Code: 2))
[OK]
Ao debugar a aplicação, foi notado que na unit ACBrNFeDANFeRL.pas (\Fontes\ACBrDFe\ACBrNFe\DANFE\NFe\Fortes), do Fortes Report, o método SalvarPDF, não está tratando a exceção ao executar o Prepare do DANFeReport. Assim, quando ocorria algum erro, era mostrado um ShowMessage na aplicação do servidor, em vez de mostrar uma exceção para a aplicação cliente (imagem abaixo). Assim era necessário acessar o servidor e clicar na mensagem para destravar a aplicação.
Realizando o tratamento do erro no método Prepare, a mensagem não apareceu mais na aplicação servidor e apareceu uma exceção na aplicação cliente, não travando o processo de outras aplicações cliente. O erro era ocasionado por uma logo com problema, pois quando a mesma foi removida não apresentou mais erro no método Prepare.
Estou deixando em anexo o arquivo com a alteração para avaliação.
ACBrNFeDANFeRL.pas