Estou utilizando o ACBrPosPrinter para realizar uma impressão.
Dou um ACBrTeste := TACBrPosPrinter.Create(nil);
Faço as devidas configurações do componente para uma impressora específica.
Mando imprimir:
ACBrTeste.Device.Ativar;
ACBrTeste.Imprimir(TextoImpressao);
Lá dentro do ACBrPosPrinter no método "Imprimir" segue em EnviarStringDevice. Dentro desse ultimo também é chamado o FDevice.EnviaString(AString), que por sua vez envia para o dispositivo.
Meu problema: Preciso saber quando toda a impressão termina, pois tenho uma tela de aguarde a impressão. Mas como ele envia a impressão para o dispositivo e segue o fluxo no sistema, não sei como a impressão vai terminar.
Já tentei usar o método while stImprimindo in ACBr.LerStatusImpressora do ... continue na tela de aguarde, mas não fez efeito, passa por esse trecho e continua imprimindo.
Alguma sugestão? Enviar um comando para só retornar desse FDevice.EnviaString(AString) só quando a impressão terminar? Deixar Sincrono?