Temos uma aplicação que inicialmente utilizava o acbr monitor e depois passamos a utilizar o acbrlib. Em ambos os casos, em alguns clientes que utilizam impressoras em rede temos muita incidência deste "socket error 10054". Utilizamos o ControlePorta, mas mesmo assim o erro persiste.
Basicamente o que fazemos é instanciar o ACBrPosPrinter ao iniciar o módulo, e a cada impressão utilizamos os seguintes comandos:
posPrinter.ConfigGravarValor(ACBrSessao.PosPrinter, "Porta", porta)
posPrinter.ConfigGravarValor(ACBrSessao.PosPrinter, "Modelo", modelo)
posPrinter.ConfigGravarValor(ACBrSessao.PosPrinter, "VerificarImpressora", 1)
posPrinter.ConfigGravarValor(ACBrSessao.PosPrinter, "ControlePorta", 1)
posPrinter.ConfigGravar()
posPrinter.Ativar()
posPrinter.PularLinhas(linhas_iniciais + 1)
posPrinter.Imprimir(pedido)
posPrinter.PularLinhas(linhas_finais + 1)
posPrinter.CortarPapel()
posPrinter.Zerar()
posPrinter.Desativar()
Olhando pelo log, é possível ver que o erro surge em momentos distintos entre o Ativar() e Zerar().
Alguma sugestão para que possamos diminuir a incidência deste problema?
Obrigado!