Retorno informacao BEMATECH

Projeto [x]Harbour - Compilador de código aberto compatível com o Clipper.

Moderador: Moderadores

marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Retorno informacao BEMATECH

Mensagem por marcos.gurupi »

Caros, como vcs estao fazendo para pegar o retorno por exemplo da BEMATECH, principalmente o retorno extendido. Eu jah tentei mais de uma vez usar as funcoes de retorno extendido da ECF MP-2100 e MP-4000 todas fiscais mas nunca tive sucesso, antes usando a mp-20 ou mp-25 eu conseguia (usando o bemafi.exe) agora com a dll tanto usando o bemacc.c como diretamente da DLL com o DLLCALL() nao estou tendo sucesso. Como vcs estaum fazendo ?
Marcos Roberto
NetService Software
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Retorno informacao BEMATECH

Mensagem por lucimauro »

Marcos eu uso bemafi32.dll com retorno extendido.

Habilibatar retorno exetendo
teste:=DllCall( nLib32, 32, "Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD", "1")

testando retornos :

Código: Selecionar todos

function Erro_bematech(nr_erro)
 local msn_erro:=space(40)
 if nr_erro==0
    msn_erro:="Error de comunicacao"
 elseif nr_erro==-1
    msn_erro:="Arquivo de execucao"
 elseif nr_erro==-2
    msn_erro:="Parametro invalido"
 elseif nr_erro==-4
    msn_erro:="Arquivo de configuracao BEMAFI32.ini nao encontrado"
 elseif nr_erro==-5
    msn_erro:="Erro ao abrir porta de comunicacao"
 elseif nr_erro==-6
    msn_erro:="Impressora desligada ou cabo de comunicacao desconectado"
 elseif nr_erro==-27
    ack:=0
    st1:=0
    st2:=0
    st3:=0
    Ret:=DllCall( nLib32, 32, "Bematech_FI_RetornoImpressoraMFD",@ack,@st1,@st2,@st3)
    If st3 != 0
       If ecf_mfd==[S]
          msn_erro:=ErroExtBematech(st3)
       else
          msn_erro:="Erro desconhecido retornado pela ECF"
       endif
    else
       msn_erro:="ECF nao esta respondendo"
    endif
 else
    msn_erro:="Erro!! Verifique se a ECF esta ligada ou cabo desconectado"
 endif
 return(msn_erro)
*
Static Function ErroExtBematech(xSt3)
 Local cRet := '', iRet
  If xSt3==1
    cRet:='COMANDO INVALIDO'
 ElseIf xSt3==2
    cRet:='ERRO DESCONHECIDO'
 ElseIf xSt3==3
    cRet:='NUMERO DE PARAMETRO INVALIDO'
 ElseIf xSt3==4
    cRet:='TIPO DE PARAMETRO INVALIDO'
endif

Eu tenho todos os retonos so teste para ver se funciona assim.
Nota de Moderação:
por Pablo César: A configuração no Painel de Controle do Usuário poderia ser mudado para que pudesse seguir com as normas de edição do fórum ou remover removido a desativação do BBCode que existe no rodapé da edição de mensagem em Opções. Bastaria mudar em Preferências do fórum, Editar padrões de postagem e deixar com "Sim" em Sempre permitir BBCode.
Editado pela última vez por Pablo César em 20 Dez 2012 10:32, em um total de 3 vezes.
Razão: Mensagem editada para colocar a tag [ code ]<br>Veja como utilizar esta tag: http://www.pctoledo.com.br/forum/faq.php?mode=bbcode#f2r1
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Retorno informacao BEMATECH

Mensagem por marcos.gurupi »

Amigo Pablo, vc estah conseguindo isso na pratica com dllcall() ? Se a resposta for sim. Qual eh a versao do seu xhb ?
Marcos Roberto
NetService Software
lucimauro
Usuário Nível 3
Usuário Nível 3
Mensagens: 465
Registrado em: 21 Set 2004 21:02
Localização: Sobral-CE

Retorno informacao BEMATECH

Mensagem por lucimauro »

Marcos pelo que vi em xharbour voce nao deve usar dllcall e sim loadlibrary se nao me engano essa é a sintaxe do comando.
marcos.gurupi
Usuário Nível 4
Usuário Nível 4
Mensagens: 939
Registrado em: 06 Jul 2004 11:53
Localização: Gurupi-TO

Retorno informacao BEMATECH

Mensagem por marcos.gurupi »

Caro colega, estava viajando por isso nao respondi. Vou testar o comando e ver se consigo finalmente ler DLL

Obrigado.
Marcos Roberto
NetService Software
Responder