Ir para conteúdo
  • Cadastre-se

dev botao

  • Este tópico foi criado há 3398 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Fundadores
Postado

Parece ser bem interessante...

Preciso analisar como ficará a dependência de pacotes... pois ACBrDevice é bem básico...

Notei tb que é criada um TTCPBlockSocket a cada envio... talvez fosse melhor deixar ele existindo como um Field da Classe...

Vou analisar as modificações assim que tiver um tempo...

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Fundadores
Postado

Estava aplicando essa melhoria... mas fiquei na dúvida se usar a notação "RAW://ip_maquina:porta" é o mais correto... Essa notação é usada em mais algum lugar ou é a sugestão de algum fabricante ?

Pesquisando pelo termo "RAW" em impressão, ele significa o envio direto, sem spool ou interpretação de driver... mas não necessariamente por TCP...

Pensei em usar uma notação mais significativa como: "TCP:ip_maquina:porta"

O que vocês acham ?

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

  • Fundadores
Postado

Amarildo e demais,

Por favor teste com a Unit em anexo...

As classes TBlockSerial e TTCPBlockSocket tem muito em simular... e com isso, ajustei a classe ACBrDevice para tentar se comportar de forma muito semelhante seja com uma Porta Serial ou TCP...

Implementei várias propriedades como "TimeOut, MaxBandwidth" e métodos "LeString, LeByte, EnviaString"...

Para manter a compatibilidade com o comportamento da Porta Serial, o ACBrDevice mantém a conexão aberta após chamar o "Ativar" e só derruba a mesma, após o "Desativar"... Para reproduzir o comportamento que você projetou, (Conectar e Desconectar a cada envio)... é necessário ativar a propriedade "ControlePorta" dos componentes que usam o ACBrDevice, como o ACBrECF ou ACBrPosPrinter...

Fiz um teste usando os Demos: "PosPrinterTeste" e "Server" (TCPServer)... E o comportamento foi bastante satisfatório...

Por enquanto, usei a notação de porta: "TCP:ip_maquina:porta".. Ex: "TCP:localhost:9100"

 

ACBrDevice.pas

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Postado (editado)

Tinha uma erro na definição da porta quando não era indicado a porta de comunicação. Alterado.

Alterei também para manter a conexão tcp desligada... nos testes, a  impressora não estava estável  (o link tcp com a rede) daí a conexão se perdia... não vai resolver todas a situações, mas vai diminuir.

ACBrDevice.pas

Editado por amarildolacerda
  • Curtir 2

Amarildo Lacerda

Storeware Team

  • Este tópico foi criado há 3398 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.

The popup will be closed in 10 segundos...