TEF - Teste de desligar o computador
Caros colegas,
Para verificar se houve desligamento do micro durante uma transação TEF, eu crio um arquivo antes de iniciar a impressão (TEF.TXT) e, ao abrir o programa, verifico se o arquivo existe e caso positivo, mando o NCN.
O problema q estou enfrentado é q às vezes o arquivo some da pasta onde foi criado.
Se faço os testes com CTRL+ALT+DEL, sempre dá certo, mas se desligo o micro, às vezes ocorre do arquivo não estar lá, apesar de eu ter a certeza que ele foi criado.
Alguém já passou por esta situação ?
Estou trabalhando com Delphi 7 e Windows XP SP2.
Segue abaixo o trecho de código onde crio o arquivo:
Agradeço a atenção dos colegas,
Marcello.
Para verificar se houve desligamento do micro durante uma transação TEF, eu crio um arquivo antes de iniciar a impressão (TEF.TXT) e, ao abrir o programa, verifico se o arquivo existe e caso positivo, mando o NCN.
O problema q estou enfrentado é q às vezes o arquivo some da pasta onde foi criado.
Se faço os testes com CTRL+ALT+DEL, sempre dá certo, mas se desligo o micro, às vezes ocorre do arquivo não estar lá, apesar de eu ter a certeza que ele foi criado.
Alguém já passou por esta situação ?
Estou trabalhando com Delphi 7 e Windows XP SP2.
Segue abaixo o trecho de código onde crio o arquivo:
AssignFile(cArquivo, ´TEF.TXT´); ReWrite(cArquivo); WriteLn(cArquivo, ´1´); CloseFile(cArquivo); while not FileExists(´TEF.TXT´) do Sleep(1000);
Agradeço a atenção dos colegas,
Marcello.
Marcello
Curtidas 0
Respostas
Wdrocha
05/08/2008
pq vc não usa TStringList ao invés de TextFile??
É melhor e mais seguro....vc pode usar por exemplo....
cArquivo.SaveToFile(´Destino\NomeArquivo.Txt´);
Fica aew a sugestão...
Flw
É melhor e mais seguro....vc pode usar por exemplo....
cArquivo.SaveToFile(´Destino\NomeArquivo.Txt´);
Fica aew a sugestão...
Flw
GOSTEI 0
Aroldo Zanela
05/08/2008
Colega,
O exemplo do help do Delphi parece-me uma opção mais adequada, veja:
[quote=´Help´]The following example shows how to tell Windows to relaunch your application when Windows starts up if it was running when the system shut down. When Windows starts up, it launches each application listed in the RunOnce key and then deletes the entry for that application. Therefore, you do not need to remove the entry written here.
O exemplo do help do Delphi parece-me uma opção mais adequada, veja:
[quote=´Help´]The following example shows how to tell Windows to relaunch your application when Windows starts up if it was running when the system shut down. When Windows starts up, it launches each application listed in the RunOnce key and then deletes the entry for that application. Therefore, you do not need to remove the entry written here.
procedure TForm1.WMEndSession(var Message: TWMEndSession); var Reg: TRegistry; begin Reg := TRegistry.Create; try Reg.RootKey := HKEY_CURRENT_USER; if Reg.OpenKey(´\Software\Microsoft\Windows\CurrentVersion\RunOnce´, True) then begin Reg.WriteString(´MyApp´,´"´ + ParamStr(0) + ´"´); Reg.CloseKey; end; finally Reg.Free; inherited; end; end;
[quote=´Help´]In order for this method to be called, it must be declared in your main form class as follows:
private procedure WMEndSession(var Msg:TWMEndSession); message WM_ENDSESSION;
GOSTEI 0
Paulo
05/08/2008
Marcello, só uma pergunta: O TEF já não faz isso? Sempre que há uma transação pendente, o cupom não é encerrado e a DLL do TEF não conclui a venda. Quando o micro é religado, você vao precisar encerrar o Cupom, então o TEF pergunta se deseja Continuar ou outra forma. Então é gravado um log pela própria DLL informando que houve desligamento inesperado e etc... Nós usamos o TEF da DIREÇÃO e é mais ou menos assim.
GOSTEI 0
Marcello
05/08/2008
Aroldo,
Pelo que entendi, a minha aplicação seria reaberta automaticamente no caso de um desligamento. Certo ?
Mas como saber se houve um desligamento inesperado, e no meio de uma transação TEF ?
Eu estou criando este arquivo TEF.TXT apenas qdo estou imprimindo o documento do TEF. Na verdade o q eu preciso é saber q existe uma transação TEF pendente.
Obrigado,
Marcello.
Pelo que entendi, a minha aplicação seria reaberta automaticamente no caso de um desligamento. Certo ?
Mas como saber se houve um desligamento inesperado, e no meio de uma transação TEF ?
Eu estou criando este arquivo TEF.TXT apenas qdo estou imprimindo o documento do TEF. Na verdade o q eu preciso é saber q existe uma transação TEF pendente.
Obrigado,
Marcello.
GOSTEI 0
Marcello
05/08/2008
Paulo,
Estou homologando para TEF discado.
Pelo q sei não pode usar DLL.
O seu é dedicado ? Ou esta DLL dispensa homologação ?
Marcello
Estou homologando para TEF discado.
Pelo q sei não pode usar DLL.
O seu é dedicado ? Ou esta DLL dispensa homologação ?
Marcello
GOSTEI 0
Paulo
05/08/2008
Dedicado e tem que ser homologado.
GOSTEI 0
Easytef
05/08/2008
Olá, Marcello. O componente TEasyTEFDiscado já implementa o código para todos os testes da homologação do processo de certificação TEF discado. Ele facilita e acelera muito o processo de desenvolvimento para que sua aplicação possa fazer pagamentos via cartão de débito e crédito.
O componente suporta as redes Amex, Redecard, Visanet, Hypercard e Tecban. Você encontra a versão de avaliação do EasyTEF em www.easytef.com.br
Além de vir com documentação completa e exemplo de frente de caixa utilizando o componente, ele é o único do mercado que possui versão de avaliação, ou seja, não precisa pagar pra ver como funciona.
Qualquer dúvida, basta entrar em contato conosco pelo nosso site.
Atenciosamente,
EasyTEF Team
O componente suporta as redes Amex, Redecard, Visanet, Hypercard e Tecban. Você encontra a versão de avaliação do EasyTEF em www.easytef.com.br
Além de vir com documentação completa e exemplo de frente de caixa utilizando o componente, ele é o único do mercado que possui versão de avaliação, ou seja, não precisa pagar pra ver como funciona.
Qualquer dúvida, basta entrar em contato conosco pelo nosso site.
Atenciosamente,
EasyTEF Team
GOSTEI 0
Seven
05/08/2008
Ola?
>> Estou homologando para TEF discado.
>> Pelo q sei não pode usar DLL.
Não entendi bem isso, como não se pode usar DLL ? quais seriam essas ? tipo, BEMAFI32.DLL ?
Tenho um sistema e seu respectivo frente de caixa, este frente de caixa temos as configurações para as principais impressoras fiscais do mercado, porém, uso DLL para todas. Acredito que a DLL mencionada acima não seja essas que usamos para enviar os comandos para as impressora, certo?
desculpe pela ignorancia, mas se alguem puder dizer,
desde ja agradeço.
>> Estou homologando para TEF discado.
>> Pelo q sei não pode usar DLL.
Não entendi bem isso, como não se pode usar DLL ? quais seriam essas ? tipo, BEMAFI32.DLL ?
Tenho um sistema e seu respectivo frente de caixa, este frente de caixa temos as configurações para as principais impressoras fiscais do mercado, porém, uso DLL para todas. Acredito que a DLL mencionada acima não seja essas que usamos para enviar os comandos para as impressora, certo?
desculpe pela ignorancia, mas se alguem puder dizer,
desde ja agradeço.
GOSTEI 0