Colegas após muito pelejar e com a ajuda de alguns colegas e agradecimentos em especial ao Lucimauro, cheguei a conclusão q deve ser o compilador... explico segue código q compilado com Harbour funciona certinho e retorna por exemplo a Impressora Sem Papel (via emulador configurado sensor para sem papel - Erro estendido)
Código: Selecionar todos
#ifndef XHARBOUR
#include "hbdyn.ch"
#endif
********************************************************************************
Function main()
//-- Fun‡Æo para teste de an lise de retorno estendido utilizando BEMAFI32.DLL
//-- utilizado xHarbour sem chamar nenhuma lib
********************************************************************************
CLEAR
altd()
//-- Carrega Dll
#ifndef XHARBOUR
NDLL := HB_LibLoad("Bemafi32.dll") && Carrega em harbour
#else
ndll := LoadLibrary("Bemafi32.dll") && Carrega em xHarbour
#endif
//-- Testa conexÆo da ECF com a Porta Serial configurada no BEMAFI32.INI
#ifndef XHARBOUR
RET := HB_DynCall( { "Bematech_FI_AbrePortaSerial", NDLL ,HB_DYN_CALLCONV_STDCALL})
#else
RET := DllCall( nDll, 32, "Bematech_FI_AbrePortaSerial")
#endif
//-- Analisa Retornos do comando anterior
IF RET=(-4)
ALERT("Erro no arquivo Bemafi32.ini")
ENDIF
IF RET=(-5)
ALERT("Erro ao abrir porta de comunicacao")
ENDIF
//-- Habilita o retorno estendido ST3 conforme referencias abaixo:
#ifndef XHARBOUR
iRetorno := HB_DynCall( {"Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD", nDll, HB_DYN_CALLCONV_STDCALL}, '1')
#else
iRetorno := DllCall( nDll, 32, "Bematech_FI_HabilitaDesabilitaRetornoEstendidoMFD", '1')
#endif
@ 10,01 say 'Retorno Habilita Desabilita Retorno Estendido MFD:' + STR(iRetorno)
//-- Manda uma leitura X pra testar
#ifndef XHARBOUR
retorno_ecf:=HB_DynCall( {"Bematech_FI_LeituraX", nDll, HB_DYN_CALLCONV_STDCALL})
#else
retorno_ecf:=DllCall( nDll, 32, "Bematech_FI_LeituraX")
#endif
@ 11,01 say 'Retorno Leitura X................................:' + STR(retorno_ecf)
if retorno_ecf != 1
Alert(erro_bematech(retorno_ecf))
endif
//-- Libera Dll
#ifndef XHARBOUR
HB_LibFree(nDLL)
#else
FreeLibrary(nDLL)
#endif
Return nil
//-- Lucimauro
function Erro_bematech(nr_erro)
local msn_erro:=space(40)
LOCAL ECF_MFD := "S" && Afirmei q ‚ uma MFD
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
#ifndef XHARBOUR
Ret:=HB_DynCall( {"Bematech_FI_RetornoImpressoraMFD", nDll, HB_DYN_CALLCONV_STDCALL}, @ack,@st1,@st2,@st3)
#else
Ret:=DllCall( nDll,32, "Bematech_FI_RetornoImpressoraMFD", @ack,@st1,@st2,@st3)
#endif
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'
ElseIf xSt3==5
cRet:='TODAS ALIQUOTAS JA PROGRAMADAS'
ElseIf xSt3==6
cRet:='TOTALIZADOR NAO FISCAL JA PROGRAMADO'
ElseIf xSt3==7
cRet:='CUPOM FISCAL ABERTO'
ElseIf xSt3==8
cRet:='CUPOM FISCAL FECHADO'
ElseIf xSt3==9
cRet:='ECF OCUPADO'
ElseIf xSt3==10
cRet:='IMPRESSORA EM ERRO'
ElseIf xSt3==11
cRet:='IMPRESSORA SEM PAPEL'
ElseIf xSt3==12
cRet:='IMPRESSORA COM CABECA LEVANTADA'
ElseIf xSt3==13
cRet:='IMPRESSORA OFF LINE'
ElseIf xSt3==14
cRet:='ALIQUOTA NAO PROGRAMADA'
ElseIf xSt3==15
cRet:='TERMINADOR DE STRING FALTANDO'
ElseIf xSt3==16
cRet:='ACRESCIMO OU DESCONTO MAIOR QUE O TOTAL DO CUPOM FISCAL'
ElseIf xSt3==17
cRet:='CUPOM FISCAL SEM ITEM VENDIDO'
ElseIf xSt3==18
cRet:='COMANDO NAO EFETIVADO'
ElseIf xSt3==19
cRet:='SEM ESPACO PARA NOVAS FORMAS DE PAGAMENTO'
ElseIf xSt3==20
cRet:='FORMA DE PAGAMENTO NAO PROGRAMADA'
ElseIf xSt3==21
cRet:='INDICE MAIOR QUE NUMERO DE FORMA DE PAGAMENTO'
ElseIf xSt3==22
cRet:='FORMAS DE PAGAMENTO ENCERRADAS'
ElseIf xSt3==23
cRet:='CUPOM NAO TOTALIZADO'
ElseIf xSt3==24
cRet:='COMANDO MAIOR QUE 7Fh (127d)'
ElseIf xSt3==25
cRet:='CUPOM FISCAL ABERTO E SEM ITEM'
ElseIf xSt3==26
cRet:='CANCELAMENTO NAO IMEDIATAMENTE APOS'
ElseIf xSt3==27
cRet:='CANCELAMENTO JA EFETUADO'
ElseIf xSt3==28
cRet:='COMPROVANTE DE CREDITO OU DEBITO NAO PERMITIDO OU JA EMITIDO'
ElseIf xSt3==29
cRet:='MEIO DE PAGAMENTO NAO PERMITE TEF'
ElseIf xSt3==30
cRet:='SEM COMPROVANTE NAO FISCAL ABERTO'
ElseIf xSt3==31
cRet:='COMPROVANTE DE CREDITO OU DEBITO JA ABERTO'
ElseIf xSt3==32
cRet:='REIMPRESSAO NAO PERMITIDA'
ElseIf xSt3==33
cRet:='COMPROVANTE NAO FISCAL JA ABERTO'
ElseIf xSt3==34
cRet:='TOTALIZADOR NAO FISCAL NAO PROGRAMADO'
ElseIf xSt3==35
cRet:='CUPOM NAO FISCAL SEM ITEM VENDIDO'
ElseIf xSt3==36
cRet:='ACRESCIMO E DESCONTO MAIOR QUE TOTAL CNF'
ElseIf xSt3==37
cRet:='MEIO DE PAGAMENTO NAO INDICADO'
ElseIf xSt3==38
cRet:='MEIO DE PAGAMENTO DIFERENTE DO TOTAL DO RECEBIMENTO'
ElseIf xSt3==39
cRet:='NAO PERMITIDO MAIS DE UMA SANGRIA OU SUPRIMENTO'
ElseIf xSt3==40
cRet:='RELATORIO GERENCIAL JA PROGRAMADO'
ElseIf xSt3==41
cRet:='RELATORIO GERENCIAL NAO PROGRAMADO'
ElseIf xSt3==42
cRet:='RELATORIO GERENCIAL NAO PERMITIDO'
ElseIf xSt3==43
cRet:='MFD NOO INICIALIZADA'
ElseIf xSt3==44
cRet:='MFD AUSENTE'
ElseIf xSt3==45
cRet:='MFD SEM NUMERO DE SERIE'
ElseIf xSt3==46
cRet:='MFD JA INICIALIZADA'
ElseIf xSt3==47
cRet:='MFD LOTADA'
ElseIf xSt3==48
cRet:='CUPOM NAO FISCAL ABERTO'
ElseIf xSt3==49
cRet:='MEMÓRIA FISCAL DESCONECTADA'
ElseIf xSt3==50
cRet:='MEMÓRIA FISCAL SEM NUMERO DE SERIE DA MFD'
ElseIf xSt3==51
cRet:='MEMORIA FISCAL LOTADA'
ElseIf xSt3==52
cRet:='DATA INICIAL INVALIDA'
ElseIf xSt3==53
cRet:='DATA FINAL INVALIDA'
ElseIf xSt3==54
cRet:='CONTADOR DE REDUCAO Z INICIAL INVALIDO'
ElseIf xSt3==55
cRet:='CONTADOR DE REDUCAO Z FINAL INVALIDO'
ElseIf xSt3==56
cRet:='ERRO DE ALOCACAO'
ElseIf xSt3==57
cRet:='DADOS DO RTC INCORRETOS'
ElseIf xSt3==58
cRet:='DATA ANTERIOR AO ULTIMO DOCUMENTO EMITIDO'
ElseIf xSt3==59
cRet:='FORA DE INTERVENCAO TECNICA'
ElseIf xSt3==60
cRet:='EM INTERVENCAO TECNICA'
ElseIf xSt3==61
cRet:='ERRO NA MEMERIA DE TRABALHO'
ElseIf xSt3==62
cRet:='JA HOUVE MOVIMENTO NO DIA'
ElseIf xSt3==63
cRet:='BLOQUEIO POR REDUCAO Z'
ElseIf xSt3==64
cRet:='FORMA DE PAGAMENTO ABERTA'
ElseIf xSt3==65
cRet:='AGUARDANDO PRIMEIRO PROPRIETARIO'
ElseIf xSt3==66
cRet:='AGUARDANDO REDUCAO Z DO DIA ANTERIOR'
ElseIf xSt3==67
cRet:='ECF OU LOJA IGUAL A ZERO'
ElseIf xSt3==68
cRet:='CUPOM ADICIONAL NAO PERMITIDO'
ElseIf xSt3==69
cRet:='DESCONTO MAIOR QUE TOTAL VENDIDO EM ICMS'
ElseIf xSt3==70
cRet:='RECEBIMENTO NAO FISCAL NULO NAO PERMITIDO'
ElseIf xSt3==71
cRet:='ACRESCIMO OU DESCONTO MAIOR QUE TOTAL NAO FISCAL'
ElseIf xSt3==72
cRet:='MEMORIA FISCAL LOTADA PARA NOVO CARTUCHO'
ElseIf xSt3==73
cRet:='ERRO DE GRAVACAO NA MEMORIA FISCAL'
ElseIf xSt3==74
cRet:='ERRO DE GRAVACAO NA MFD'
ElseIf xSt3==75
cRet:='DADOS DO RTC ANTERIORES AO ULTIMO DOC ARMAZENADO'
ElseIf xSt3==76
cRet:='MEMORIA FISCAL SEM ESPACO PARA GRAVAR LEITURAS DA MFD'
ElseIf xSt3==77
cRet:='MEMORIA FISCAL SEM ESPACO PARA GRAVAR VERSAO DO SB'
ElseIf xSt3==78
cRet:='DESCRICAO IGUAL A DEFAULT NAO PERMITIDO'
ElseIf xSt3==79
cRet:='EXTRAPOLADO NUMERO DE REPETICOES PERMITIDAS'
ElseIf xSt3==80
cRet:='SEGUNDA VIA DO COMPROVANTE DE CREDITO OU DEBITO NAO PERMITIDO'
ElseIf xSt3==81
cRet:='PARCELAMENTO FORA DA SEQUENCIA'
ElseIf xSt3==82
cRet:='COMPROVANTE DE CREDITO OU DEBITO ABERTO'
ElseIf xSt3==83
cRet:='TEXTO COM SEQUENCIA DE ESC INVALIDA'
ElseIf xSt3==84
cRet:='TEXTO COM SEQUENCIA DE ESC INCOMPLETA'
ElseIf xSt3==85
cRet:='VENDA COM VALOR NULO'
ElseIf xSt3==86
cRet:='ESTORNO DE VALOR NULO'
ElseIf xSt3==87
cRet:='FORMA DE PAGAMENTO DIFERENTE DO TOTAL DA SANGRIA'
ElseIf xSt3==88
cRet:='REDUCAO NAO PERMITIDA EM INTERVENCAO TECNICA'
ElseIf xSt3==89
cRet:='AGUARDANDO RZ PARA ENTRADA EM INTERVENCAO TECNICA'
ElseIf xSt3==90
cRet:='FORMA DE PAGAMENTO COM VALOR NULO NAO PERMITIDO'
ElseIf xSt3==91
cRet:='ACRESCIMO E DESCONTO MAIOR QUE VALOR DO ITEM'
ElseIf xSt3==92
cRet:='AUTENTICACAO NAO PERMITIDA'
ElseIf xSt3==93
cRet:='TIMEOUT NA VALIDACAO'
ElseIf xSt3==94
cRet:='COMANDO NAO EXECUTADO EM IMPRESSORA BILHETE DE PASSAGEM'
ElseIf xSt3==95
cRet:='COMANDO NAO EXECUTADO EM IMPRESSORA DE CUPOM FISCAL'
ElseIf xSt3==96
cRet:='CUPOM NAO FISCAL FECHADO'
ElseIf xSt3==97
cRet:='PARAMETRO NAO ASCII EM CAMPO ASCII'
ElseIf xSt3==98
cRet:='PARAMETRO NAO ASCII NUMERICO EM CAMPO ASCII NUMERICO'
ElseIf xSt3==99
cRet:='TIPO DE TRANSPORTE INVALIDO'
ElseIf xSt3==100
cRet:='DATA E HORA INVALIDA'
ElseIf xSt3==101
cRet= 'SEM RELATORIO GERENCIAL OU COMPROVANTE DE CREDITO OU DEBITO ABERTO'
ElseIf xSt3==102
cRet:='NUMERO DO TOTALIZADOR NAO FISCAL INVALIDO'
ElseIf xSt3==103
cRet:='PARAMETRO DE ACRESCIMO OU DESCONTO INVALIDO'
ElseIf xSt3==104
cRet:='ACRESCIMO OU DESCONTO EM SANGRIA OU SUPRIMENTO NAO PERMITIDO'
ElseIf xSt3==105
cRet:='NUMERO DO RELATORIO GERENCIAL INVALIDO'
ElseIf xSt3==106
cRet:='FORMA DE PAGAMENTO ORIGEM NAO PROGRAMADA'
ElseIf xSt3==107
cRet:='FORMA DE PAGAMENTO DESTINO NAO PROGRAMADA'
ElseIf xSt3==108
cRet:='ESTORNO MAIOR QUE FORMA PAGAMENTO'
ElseIf xSt3==109
cRet:='CARACTER NUMERICO NA CODIFICACAO GT NAO PERMITIDO'
ElseIf xSt3==110
cRet:='ERRO NA INICIALIZACAO DA MF'
ElseIf xSt3==111
cRet:=' NOME DO TOTALIZADOR EM BRANCO NAO PERMITIDO'
ElseIf xSt3==112
cRet:='DATA E HORA ANTERIORES AO ULTIMO DOC ARMAZENADO'
ElseIf xSt3==113
cRet:='PARAMETRO DE ACRESCIMO OU DESCONTO INVALIDO'
ElseIf xSt3==114
cRet:='ITEM ANTERIOR AOS TREZENTOS ULTIMOS'
ElseIf xSt3==115
cRet:='ITEM NAO EXISTE OU JA CANCELADO'
ElseIf xSt3==116
cRet:='CODIGO COM ESPACOS NAO PERMITIDO'
ElseIf xSt3==117
cRet:='DESCRICAO SEM CARACTER ALFABETICO NAO PERMITIDO'
ElseIf xSt3==118
cRet:='ACRESCIMO MAIOR QUE VALOR DO ITEM'
ElseIf xSt3==119
cRet:='DESCONTO MAIOR QUE VALOR DO ITEM'
ElseIf xSt3==120
cRet:='DESCONTO EM ISS NAO PERMITIDO'
ElseIf xSt3==121
cRet:='ACRESCIMO EM ITEM JA EFETUADO'
ElseIf xSt3==122
cRet:='DESCONTO EM ITEM JA EFETUADO'
ElseIf xSt3==123
cRet:='ERRO NA MEMORIA FISCAL CHAMAR CREDENCIADO'
ElseIf xSt3==124
cRet:='AGUARDANDO GRAVACAO NA MEMORIA FISCAL'
ElseIf xSt3==125
cRet:='CARACTER REPETIDO NA CODIFICACAO DO GT'
ElseIf xSt3==126
cRet:='VERSAO JA GRAVADA NA MEMORIA FISCAL'
ElseIf xSt3==127
cRet:='ESTOURO DE CAPACIDADE NO CHEQUE'
ElseIf xSt3==128
cRet:='TIMEOUT NA LEITURA DO CHEQUE'
ElseIf xSt3==129
cRet:='MES INVALIDO'
ElseIf xSt3==130
cRet:='COORDENADA INVALIDA'
ElseIf xSt3==131
cRet:='SOBREPOSICAO DE TEXTO'
ElseIf xSt3==132
cRet:='SOBREPOSICAO DE TEXTO NO VALOR'
ElseIf xSt3==133
cRet:='SOBREPOSICAO DE TEXTO NO EXTENSO'
ElseIf xSt3==134
cRet:='SOBREPOSICAO DE TEXTO NO FAVORECIDO'
ElseIf xSt3==135
cRet:='SOBREPOSICAO DE TEXTO NA LOCALIDADE'
ElseIf xSt3==136
cRet:='SOBREPOSICAO DE TEXTO NO OPCIONAL'
ElseIf xSt3==137
cRet:='SOBREPOSICAO DE TEXTO NO DIA'
ElseIf xSt3==138
cRet:='SOBREPOSICAO DE TEXTO NO MES'
ElseIf xSt3==139
cRet:='SOBREPOSICAO DE TEXTO NO ANO'
ElseIf xSt3==140
cRet:='USANDO MFD DE OUTRO ECF'
ElseIf xSt3==141
cRet:='PRIMEIRO DADO DIFERENTE DE ESC OU 1C'
ElseIf xSt3==142
cRet:='NAO PERMITIDO ALTERAR SEM INTERVENCAO TECNICA'
ElseIf xSt3==143
cRet:='DADOS DA ULTIMA RZ CORROMPIDOS'
ElseIf xSt3==144
cRet:='COMANDO NAO PERMITIDO NO MODO INICIALIZACAO'
ElseIf xSt3==145
cRet:='AGUARDANDO ACERTO DE RELOGIO'
ElseIf xSt3==146
cRet:='MFD JA INICIALIZADA PARA OUTRA MF'
ElseIf xSt3==147
cRet:='AGUARDANDO ACERTO DO RELOGIO OU DESBLOQUEIO PELO TECLADO'
ElseIf xSt3==148
cRet:='VALOR FORMA DE PAGAMENTO MAIOR QUE MAXIMO PERMITIDO'
ElseIf xSt3==149
cRet:='RAZAO SOCIAL EM BRANCO'
ElseIf xSt3==150
cRet:='NOME DE FANTASIA EM BRANCO'
ElseIf xSt3==151
cRet:='ENDERECO EM BRANCO'
ElseIf xSt3==152
cRet:='ESTORNO DE CDC NAO PERMITIDO'
ElseIf xSt3==153
cRet:='DADOS DO PROPRIETARIO IGUAIS AO ATUAL'
ElseIf xSt3==154
cRet:='ESTORNO DE FORMA DE PAGAMENTO NAO PERMITIDO'
ElseIf xSt3==155
cRet:='DESCRICAO FORMA DE PAGAMENTO IGUAL JA PROGRAMADA'
ElseIf xSt3==156
cRet:='ACERTO DE HORARIO DE VERAO SO IMEDIATAMENTE APOS RZ'
ElseIf xSt3==157
cRet:='IT NAO PERMITIDA MF RESERVADA PARA RZ'
ElseIf xSt3==158
cRet:='SENHA CNPJ INVALIDA'
ElseIf xSt3==159
cRet:='TIMEOUT NA INICIALIZACAO DA NOVA MF'
ElseIf xSt3==160
cRet:='NAO ENCONTRADO DADOS NA MFD'
ElseIf xSt3==161
cRet:='SANGRIA OU SUPRIMENTO DEVEM SER UNICOS NO CNF'
ElseIf xSt3==162
cRet:='INDICE DA FORMA DE PAGAMENTO NULO NAO PERMITIDO'
ElseIf xSt3==163
cRet:='UF DESTINO INVALIDA'
ElseIf xSt3==164
cRet:='TIPO DE TRANSPORTE INCOMPATIVEL COM UF DESTINO'
ElseIf xSt3==165
cRet:='DESCRICAO DO PRIMEIRO ITEM DO BILHETE DE PASSAGEM DIFERENTE DE "TARIFA"'
ElseIf xSt3==166
cRet:='AGUARDANDO IMPRESSAO DE CHEQUE OU AUTENTICACAO'
ElseIf xSt3==167
cRet:='NAO PERMITIDO PROGRAMACAO CNPJ IE COM ESPACOS EM BRANCO'
ElseIf xSt3==168
cRet:='NAO PERMITIDO PROGRAMACAO UF COM ESPACOS EM BRANCO'
ElseIf xSt3==169
cRet:='NUMERO DE IMPRESSOES DA FITA DETALHE NESTA INTERVENCAO TECNICA ESGOTADO'
ElseIf xSt3==170
cRet:='CF JA SUBTOTALIZADO'
ElseIf xSt3==171
cRet:='CUPOM NAO SUBTOTALIZADO'
ElseIf xSt3==172
cRet:='ACRESCIMO EM SUBTOTAL JA EFETUADO'
ElseIf xSt3==173
cRet:='DESCONTO EM SUBTOTAL JA EFETUADO'
ElseIf xSt3==174
cRet:='ACRESCIMO NULO NAO PERMITIDO'
ElseIf xSt3==175
cRet:='DESCONTO NULO NAO PERMITIDO'
ElseIf xSt3==176
cRet:='CANCELAMENTO DE ACRESCIMO OU DESCONTO EM SUBTOTAL NAO PERMITIDO'
ElseIf xSt3==177
cRet:='DATA INVALIDA'
ElseIf xSt3==178
cRet:='VALOR DO CHEQUE NULO NAO PERMITIDO'
ElseIf xSt3==179
cRet:='VALOR DO CHEQUE INVALIDO'
ElseIf xSt3==180
cRet:='CHEQUE SEM LOCALIDADE NAO PERMITIDO'
ElseIf xSt3==181
cRet:='CANCELAMENTO ACRESCIMO EM ITEM NAO PERMITIDO'
ElseIf xSt3==182
cRet:='CANCELAMENTO DESCONTO EM ITEM NAO PERMITIDO'
ElseIf xSt3==183
cRet:='NUMERO MAXIMO DE ITENS ATINGIDO'
ElseIf xSt3==184
cRet:='NUMERO DE ITEM NULO NAO PERMITIDO'
ElseIf xSt3==185
cRet:='MAIS QUE DUAS ALIQUOTAS DIFERENTES NO BILHETE DE PASSAGEM NAO PERMITIDO'
ElseIf xSt3==186
cRet:='ACRESCIMO OU DESCONTO EM ITEM NAO PERMITIDO'
ElseIf xSt3==187
cRet:='CANCELAMENTO DE ACRESCIMO OU DESCONTO EM ITEM NAO PERMITIDO'
ElseIf xSt3==188
cRet:='CLICHE JA IMPRESSO'
ElseIf xSt3==189
cRet:='TEXTO OPCIONAL DO CHEQUE EXCEDEU O MAXIMO PERMITIDO'
ElseIf xSt3==190
cRet:='IMPRESSAO AUTOMATICA NO VERSO NAO PERMITIDO NESTE EQUIPAMENTO'
ElseIf xSt3==191
cRet:='TIMEOUT NA INSERCAO DO CHEQUE'
ElseIf xSt3==192
cRet:='OVERFLOW NA CAPACIDADE DE TEXTO DO COMPROVANTE DE CREDITO OU DEBITO'
ElseIf xSt3==193
cRet:='PROGRAMACAO DE ESPACOS ENTRE CUPONS MENOR QUE O MANIMO PERMITIDO'
ElseIf xSt3==194
cRet:='EQUIPAMENTO NAO POSSUI LEITOR DE CHEQUE'
ElseIf xSt3==195
cRet:='PROGRAMACAO DE ALIQUOTA COM VALOR NULO NAO PERMITIDO'
ElseIf xSt3==196
cRet:='PARAMETRO BAUD RATE INVALIDO'
ElseIf xSt3==197
cRet:='CONFIGURACAO PERMITIDA SOMENTE PELA PORTA DOS FISCO'
ElseIf xSt3==198
cRet:='VALOR TOTAL DO ITEM EXCEDE 11 DIGITOS'
ElseIf xSt3==199
cRet:='PROGRAMACAO DA MOEDA COM ESPACOS EM BRACO NAO PERMITIDO'
ElseIf xSt3==200
cRet:='CASAS DECIMAIS DEVEM SER PROGRAMADAS COM 2 OU 3'
ElseIf xSt3==201
cRet:='NAO PERMITE CADASTRAR USUARIOS DIFERENTES NA MESMA MFD'
ElseIf xSt3==202
cRet:='IDENTIFICACAO DO CONSUMIDOR NAO PERMITIDA PARA SANGRIA OU SUPRIMENTO'
ElseIf xSt3==203
cRet:='CASAS DECIMAIS EM QUANTIDADE MAIOR DO QUE A PERMITIDA'
ElseIf xSt3==204
cRet:='CASAS DECIMAIS DO UNITARIO MAIOR DO QUE O PERMITIDA'
ElseIf xSt3==205
cRet:='POSICAO RESERVADA PARA ICMS'
ElseIf xSt3==206
cRet:='POSICAO RESERVADA PARA ISS'
ElseIf xSt3==207
cRet:='TODAS AS ALIQUOTAS COM A MESMA VINCULACAO NAO PERMITIDO'
ElseIf xSt3==208
cRet:='DATA DE EMBARQUE ANTERIOR A DATA DE EMISSAO'
ElseIf xSt3==209
cRet:='ALIQUOTA DE ISS NAO PERMITIDA SEM INSCRICAO MUNICIPAL'
ElseIf xSt3==210
cRet:='RETORNO PACOTE CLICHE FORA DA SEQUENCIA'
ElseIf xSt3==211
cRet:='ESPACO PARA ARMAZENAMENTO DO CLICHE ESGOTADO'
ElseIf xSt3==212
cRet:='CLICHE GRAFICO NAO DISPONIVEL PARA CONFIRMACAO'
ElseIf xSt3==213
cRet:='CRC DO CLICHE GRAFICO DIFERENTE DO INFORMADO'
ElseIf xSt3==214
cRet:='INTERVALO INVALIDO'
ElseIf xSt3==215
cRet:='USUARIO JA PROGRAMADO'
ElseIf xSt3==217
cRet:='DETECTADA ABERTURA DO EQUIPAMENTO'
ElseIf xSt3==218
cRet:='CANCELAMENTO DE ACRESCIMO/DESCONTO NAO PERMITIDO '
ElseIf xSt3 > 218
cRet:=StrZero(xSt3,3) + ' ERRO NAO CATALOGADO'
Endif
Return(cRet)
Agora em xharbour não funciona qdo chega na chamada da função do erro extendido da o erro q havia comentado acima do UNKNOWN PARAMETER TYPE.
Estou pensando em fazer uma Dll ou Exe em Harbour e qdo precisar testar o retorno extendido usar tipo ESSA PONTE HARBOUR para minha app xHarbour funcionar, como uso SQLRDD não poderei ir de Harbour como já o faço em DBF.
Se alguém tiver outra idéia mais prática ao invés da ponte agradeço... talvez tenha q abrir outro tópico ai pra não ficar noutro rumo.
[]´s