Página 1 de 1

Retorno informacao BEMATECH

Enviado: 19 Dez 2012 14:09
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 ?

Retorno informacao BEMATECH

Enviado: 20 Dez 2012 01:40
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.

Retorno informacao BEMATECH

Enviado: 27 Dez 2012 12:07
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 ?

Retorno informacao BEMATECH

Enviado: 30 Dez 2012 20:04
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.

Retorno informacao BEMATECH

Enviado: 02 Jan 2013 23:00
por marcos.gurupi
Caro colega, estava viajando por isso nao respondi. Vou testar o comando e ver se consigo finalmente ler DLL

Obrigado.