Página 1 de 1
Erro ao abrir arquivo BEMAFI32.CMD
Enviado: 31 Jul 2005 12:37
por janio
Olá a todos,
Amigo, estou um problema que não tenho conseguido resolver... tipo daqueles erros chatíssimos que hora aparecem, ora não.
Tenho um PDV com impressora fiscal Bematech que funciona blz. Ocorre, que em um cliente, umas 4 vezes por dia (Pra o cliente é como se acontecesse isso 1000/dia) aparece a seguinte mensagem de erro:
Código: Selecionar todos
ERRO BASE/2012 OPEN ERROR BEMAFI32.CMD
(DOS ERROR 4)
QUIT RETRY DEFAULT
Vale lembrar que isso tem acontecido por volta de 4 vez por dia... não é todas as vezes que emito algum comando para a impressora!
Gostaria de saber se alguém já passou por isso... se sabe como resolver este problema...
Um abraço,
Janio
PS: SO do cliente é WIN98 utilizando a BEMAFI32.DLL com BEMATECH MONITOR
Enviado: 02 Ago 2005 12:27
por Everton
Olá Janio, estou com o mesmo problema que o seu, somente em um cliente, vamos trocar algumas ideías para ver se conseguimos resolver, detalhe estou com problema somente em um tbm, qual a versão do seu bemtech monitor e qual q dll que vc está usando, já coloquei temporizador em todo o programa mas não adiantou ainda. se vc tiver o msn vamos tc lá....
o meu é
evertonlpenteado@hotmail.com
BematechMonitor, ECF
Enviado: 03 Ago 2005 11:12
por gransoft
ARAGUARI-MG, 3 de agosto de 2005.
Prezados Srs.,
DOS ERROR 4 referencia a quantidade de arquivos abertos pelo S.O.
Como está configurado no AUTOEXEC.BAT ?
SET CLIPPER=F://250
Como está configurado no CONFIG.SYS ?
FILES=250
BUFFERS=40
Bemafi32.dll V.3.6.4.0
Emulfith V.1.02
BematechMonitor V.2.0
É necessário ajustar o tempo entre comandos para o BematechMonitor, principalmente sem a concomitância, imprimindo-se vários itens/descontos em seqüência. Algo como esvaziar os BUFFERS, antes que o Monitor intercepte o "BEMAFI32.CMD", e o tempo varia de micro para micro.
Código: Selecionar todos
PROCEDURE EnviaComando(cSeqECF,cComando)
*
ERASE("&cPathECF."+"BEMAFI32.CMD")
ERASE("&cPathECF."+"STATUS.TXT")
ERASE("&cPathECF."+"RETORNO.TXT")
*
nCMD := FCREATE(cPath+"BEMAFI32.CMD",0)
* Gera linha com o parametro do comando
FWRITE(nCMD,@cComando,LEN(cComando))
*
FCLOSE(nCMD)
*
cA:="BEMAFI32.CMD"
cB:=cPathECF+"BemaFI32.CMD"
*
__CopyFile( cA, cB )
/*
NECESSÁRIO AJUSTAR TEMPO P/BematechMonitor.
*/
COMMIT
INKEY(1) && .5
ERASE("&cPath."+"BEMAFI32.CMD")
*
RETURN
***
Atenciosamente,
Janis Peters Grants.
Skype: gransoft
http://www.gransoft.com.br
gransoft@zipmail.com.br
Enviado: 03 Ago 2005 11:57
por Everton
Olá Janis,
Fiz tudo isso já, mas continua travando, já coloquei até inkey(1) mas não adiantou.....
Segundo o meu cliente ele está travando au abrir o comprovante não fiscal vinculado para inprimir o TEF, coloquei um inkey(4) antes de abrir o comprovante, mas vou testar, poi meu cliente não sabe direito onde trava, será que isso resolve....
BematechMonitor, ECF
Enviado: 03 Ago 2005 12:29
por gransoft
ARAGUARI-MG, 3 de agosto de 2005.
Prezado Everton,
Tente o COMMIT após copiar o *.CMD, e valores menores para INKEY(nN). Isso não comprometerá a performance com CF muito lentos.
(***)
__CopyFile( cA, cB )
/*
NECESSÁRIO AJUSTAR TEMPO P/BematechMonitor.
*/
COMMIT
INKEY(1) && .5
ERASE("&cPath."+"BEMAFI32.CMD")
(***)
Atenciosamente,
Janis Peters Grants.
Skype: gransoft
http://www.gransoft.com.br
gransoft@zipmail.com.br
Enviado: 03 Ago 2005 15:14
por janio
Olá Gransoft e Everton !
Obrigado por responderem.
Estou fazendo as adpatações... já peguei a última versão da DLL e do BEMATECH MONITOR no site da Bematech... vou alterar meu PRG com as adpatações neste post recomendadas e... levar pro cliente pra testar.
Quanto aos arquivos AUTOEXEC.BAT e CONFIG.SYS, todos já estão configurados conforme o descrito... utilizo FILES=200 e BUFFERS=32.
Um abraço,
Jânio Aguiar
Enviado: 03 Ago 2005 15:43
por Everton
Olá Janis,
Já teste com .3 .4 .5 .8 .9,a minha função está assim:
Delete File("C:\BEMAFI\BEMAFI32.CMD")
Delete File("C:\BEMAFI\STATUS.TXT")
Delete File("C:\BEMAFI\RETORNO.TXT")
Delete File("C:\BEMAFI\BEMAFI32.TMP")
iArquivo := FCreate("C:\BEMAFI\BEMAFI32.TMP")
FWrite( iArquivo, @Comando, Len( Comando ) )
FClose( iArquivo )
do while .t.
if !file("C:\BEMAFI\BEMAFI32.CMD")
FILECOPY("C:\BEMAFI\BEMAFI32.TMP","C:\BEMAFI\BEMAFI32.CMD")
commit
inkey(1)
exit
endif
enddo
Return
BematechMonitor, ECF
Enviado: 03 Ago 2005 17:29
por gransoft
ARAGUARI-MG, 3 de agosto de 2005.
Prezado Everton,
A única diferença agora é que eu copio o Bemafi32.CMD para pasta/diretório diferente... o que não resolve o seu problema.
Você citou travamento ao imprimir comprovante vinculado para TEF. É isso mesmo? Sempre neste ponto?
Interrompa o processamento após a criação do BEMAFI32.CMD, e analise o conteúdo dele, como caracteres acentuados, "ç", ou algo "diferente"...
Atenciosamente,
Janis Peters Grants.
Skype: gransoft
http://www.gransoft.com.br
gransoft@zipmail.com.br
Enviado: 03 Ago 2005 17:55
por Everton
Olá Janis.
Vou fazer isso, apezar que já verifiqui o arquivo .tmp e ele estava bom, amanhã vou ao cliente e deposi reporto o que aconteceu, valeu por enquanto..