Estava com um problema em um cliente que, ao emitir uma CCe a aplicação travava.
Descobri onde está o problema. O método "PrepareReportEvento" não trata o evento "ShowDialog" e "ShowProgress", e também não seta a impressora do frxReport.
Sugiro a seguinte correção:
Unit: ACBrNFeDANFEFR
Classe: TACBrNFeDANFEFR
Método: PrepareReportEvento
if Assigned(ACBrNFe) then
begin
-----------------------------
Result := FdmDanfe.frxReport.PrepareReport;
{*****************| ALTERAÇÕES FEITAS POR LUCAS M. BELO |******************}
FdmDanfe.frxReport.PrintOptions.ShowDialog := FShowDialog;
FdmDanfe.frxReport.ShowProgress := FMostrarStatus;
// Define a impressora
if Length(Impressora) > 0 then
FdmDanfe.frxReport.PrintOptions.Printer := FImpressora;
{***************************************************************************}
end
--------------------------
*Obs: nossa aplicação roda como serviço windows.