Página 1 de 1

Problema com protocolo FISCNET

Enviado: 19 Mai 2009 09:32
por r.sperotto
Olá a todos!

Possuo um aplicativo antigo em Clipper e tive que desenvolver a emissão de cupons ficais para uma impressora modelo ZPM Logger, a qual utiliza o protocolo FISCNET. Já possuo experiência na implementação deste tipo de funcionalidade, pois o mesmo aplicativo já emitia cupons na impressora marca SCHALTER a quase 10 anos.

Fiz toda a implementação e depurei o sistema. Pois bem, isso é o mais intrigante: em modo de depuração, executando passo-a-passo, tudo funciona perfeitamente. Porém, ao executar o sistema em modo normal, o ECF retorna códigos de erro que no modo de depuração retornam como ok (retorno = 0). Me parece ser algum problema de velocidade e/ou tempo relacionado à porta COM ou à configuração do driver que uso (FISCNET.SYS). Possuo a documentação do driver e realizei a configuração da porta como especificado na mesma. Vi um outro exemplo aqui no fórum onde existia um comando INKEY() relacionado a um tempo de espera após executar o comando FWRITE().

Como o ECF antigo oferecia funções prontas, sem a necessidade de uso dos comandos do Clipper (FOPEN, FWRITE, FREAD, FCLOSE) e de implementação mais fácil, não tenho grnade experiência relacionada a este tipo de comunicação. Implementei certo, pois testei e funciona ok. Minha pergunta é a seguinte: existe alguma "manha" em relação a este tipo de comunicação? O comando INKEY(), para aguardar um certo tempo antes de continuar o processamento, é obrigatório?

Se algupem puder me fornecer auxílio, ficarei muito grato.

Desde já, agradeço!

Rodrigo.

Re: Problema com protocolo FISCNET

Enviado: 19 Mai 2009 10:05
por alaminojunior
Aconselho usar outra função de nome Millisec() ao invéz da Inkey().
A diferença é que a Millisec() realmente pára o processamento do programa em questão por N milisegundos, aliviando a CPU para as demais tarefas. Já a função Inkey() implementa uma espera de N segundos, mas sem aliviar a CPU e também passível de sair dela se o operador teclar alguma coisa, coisa que com a Millisec não acontece.
Eu tive uma experiência parecida, mas com xHarbour e DLL´s, e implementei um delay de N millisegundos em algumas rotinas, para dar tempo à CPU e DLL trabalharem.

Ia esquecendo....no Clipper a função Millisec faz parte do pacote Catools.

Re: Problema com protocolo FISCNET

Enviado: 19 Mai 2009 10:42
por r.sperotto
Valeu pela rápida resposta, alamino.

Não disponho do pacote CATools, mas obrigado por me certificar de que o conceito de espera é importante.
Vou implementar usando a função INKEY() mesmo, por ora.

Qualquer coisa, vou atrás do pacote CATools.

Grato!

Re: Problema com protocolo FISCNET

Enviado: 19 Mai 2009 11:30
por Maligno
Qualquer coisa, vou atrás do pacote CATools.
Link: http://pub.buzinello.com/index.php?d=./ ... pper/libs/
Instale os quatro arquivos, na mesma ordem em que aparecem na página.

Re: Problema com protocolo FISCNET

Enviado: 20 Mai 2009 16:18
por r.sperotto
Maligno, agradeço por disponibilizar o pacote CATools.
Valeu mesmo.

Um abraço!

Re: Problema com protocolo FISCNET

Enviado: 21 Mai 2009 12:42
por r.sperotto
Olá a todos!

Tentando instalar o pacote CATools no WindowsXP, o seguinte erro aconteceu:

Line: 359 Syntax Error:
"ERROR:" was not expected
Press the [Esc] key...

Como mais nenhuma mensagem é exibida, não sei qual pode ser a causa disso. Alguém com experiência no CATools poderia, por favor, me ajudar?

Grato !

Re: Problema com protocolo FISCNET

Enviado: 22 Mai 2009 13:44
por sygecom
Qual versão do Clipper você esta usando ? Esta usando o Blinker para compilar ? Você esta compilando em MODO protegido (EXTENDIDO) ?

Se for só para usar a Millisec() da CA-TOOLS nesse caso pode usar com INKEY(.1) , unica diferença que a Millisec() obriga o usuario a esperar o tempo determinado e a INKEY() se teclar algo ela cancela e passa batido.

Re: Problema com protocolo FISCNET

Enviado: 22 Mai 2009 14:20
por alaminojunior
sygecom escreveu:nesse caso pode usar com INKEY(.1) , unica diferença que a Millisec() obriga o usuario a esperar o tempo determinado e a INKEY() se teclar algo ela cancela e passa batido.
Mas não dá Léo, pois durante a Millisec() não há consumo de recursos da CPU, o que ele está precisando. Já o Inkey() além de sair se o usuário teclar algo, continua consumindo recursos.

Re: Problema com protocolo FISCNET

Enviado: 22 Mai 2009 15:07
por r.sperotto
Pessoal, olá!

Respondendo às perguntas de sygecom:
- estou utilizando a versão 5.2e, embora também tenha a 5.3 instalada;
- para a linkagem, uso o Blinker e a mesma ocorre em modo protegido.

Embora eu não conheça a CATools, penso que seria estranho o fato de usar uma versão ou outra causar erro na instalação do pacote.

Mas vou procurar mais alguma coisa na rede - em algum lugar devo encontrar um caso já ocorrido com o mesmo erro.

Agradeço a atenção do fórum às minhas questões. Neste meio tempo, se alguém souber de algo, será benvindo ... :)Pos

Valeu!
Bom final de semana a todos!

Re: Problema com protocolo FISCNET

Enviado: 22 Mai 2009 15:14
por sygecom
Ahhhhh, então babou Alaminio, como não tenho experiencia alguma com ECF, vou saindo de fininho !!! no caso da CA-TOOLS tudo que o colega vai prescisar para usar a Millisec() é linkar a CT.LIB ao seu sistema, essa LIB se encontra no pacote da CA-TOOLS, ou pode se aventurar a pegar em outros links por ai que já vem a LIB descompactada ou me mande seu e-mail que lhe envio a LIB para você testar ai.

Re: Problema com protocolo FISCNET

Enviado: 22 Mai 2009 16:09
por alaminojunior
Pois é, e o pior é que de Clipper aqui só restaram lembranças e os backup´s, pois eu migrei tudo para xharbour. Eu precisaria instalar o clipper novamente para poder dizer alguma coisa.
O que o colega também poderia fazer é, sem querer ser taxativo, é construir este sistema para ECF em xHarbour. Já que ele ainda está no começo....

Re: Problema com protocolo FISCNET

Enviado: 23 Mai 2009 12:16
por r.sperotto
Sygecom, estou com uma certa dificuldade em encontrar uma situação de erro semelhante a que enfrento.

Já que vc ofereceu a lib descompactada, seria pedir muito vc me enviar o pacote CA-Tools com os arquivos .lib compactados em outro formato, tipo .zip ou .rar ?
Vi alguns exemplos na rede que usam outras funções da CA-Tools, além da millisec(). Assim, não preciso passar pelo processo de instalação do pacote da CA, o qual ocasiona o erro.

Se puderes fazer isso, por favor envie o arquivo para o e-mail s2techsolutions@terra.com.br.

Muito obrigado!

Re: Problema com protocolo FISCNET

Enviado: 23 Mai 2009 13:51
por alaminojunior
Meu caro, me manda um e-mail que tem envio a Catools em pastas, daí é só copiar e colar e ajustar os path´s.

Re: Problema com protocolo FISCNET

Enviado: 25 Mai 2009 12:29
por sygecom
Ta na conta, qualquer coisa prende o grito.