Ir para conteúdo
  • Cadastre-se

dev botao

DLL Nova da PayGo não esta liberando o diretório de Trabalho (TACBrTEFAPI.DiretorioTrabalho)


Recommended Posts

  • Membros Pro

Olá!

Estou tendo o problema que ao usar a DLL NOVA, setando o diretório de trabalho, como seguinte:

image.png.77ed006bf5deeb0329c6558521b096c9.png

Por exemplo a seguir peço para abri o Admin do TEF:

- TefLog: SetModelo( tefApiPayGoWeb )
- TefLog: Inicializar
- TefLog: TACBrTEFPGWebAPI.SetDiretorioTrabalho( C:\Program Files (x86)\PayGo\PGWebLib\PGWeb )
- TefLog: TACBrTEFPGWebAPI.SetPathLib( C:\Program Files (x86)\PayGo\PGWebLib\ )
- TefLog: TACBrTEFPGWebAPI.Inicializar
- TefLog: TACBrTEFPGWebAPI.LoadDLLFunctions - C:\Program Files (x86)\PayGo\PGWebLib\PGWebLib.dll
- TefLog:    PW_iInit
- TefLog:    PW_iGetResult
...
- TefLog:    PW_iPPDataConfirmation
- TefLog:      Função não requerida: PW_iPPDataConfirmation não encontrada em: C:\Program Files (x86)\PayGo\PGWebLib\PGWebLib.dll
- TefLog:    PW_iPPTestKey
- TefLog:    PW_iWaitConfirmation
- TefLog:    PW_iGetOperationsEx
- TefLog:    PW_End
- TefLog: PGWebLib sem atualização
- TefLog: PW_iInit( C:\Program Files (x86)\PayGo\PGWebLib\PGWeb )
- TefLog:   PWRET_OK
...
- TefLog: TACBrTEFPGWebAPI.ObterDadosDaTransacao
- TefLog:   PWINFO_OPERATION=32
- TefLog:   PWINFO_POSID=80374
- TefLog:   PWINFO_DESTTCPIP=esba-hom01.tpgweb.io:17500
..
- TefLog:   PWINFO_USINGPINPAD=1
- TefLog:   PWINFO_PPCOMMPORT=06
- TefLog:   PWINFO_IDLEPROCTIME=240409093956
- TefLog:   PWINFO_SERVERPND=0
- TefLog:   PWINFO_LIBVERSION=0004.0001.0027.0002
- TefLog:   PWINFO_OSVERSION=SO:Win 10 , 64bits
- TefLog:   PWINFO_SELFATT=0
- TefLog:   OnExibeMensagem( , tmTodas, -1 )

Para encerra o Sistema, executo o seguinte:

image.png.11d875cfc46897c99f74ac90238160bd.png
Ele não da erro algum e "parece" que faz tudo certo.

Se for a primeira coisa que eu faço depois de ligar o PC, tudo certo, funcionando belezinha, mas se eu precisar fechar o Sistema, a abrir novamente, começo a ter o seguinte:

- TefLog: SetModelo( tefApiPayGoWeb )
- TefLog: Inicializar
- TefLog: TACBrTEFPGWebAPI.SetDiretorioTrabalho( C:\Program Files (x86)\PayGo\PGWebLib\PGWeb )
- TefLog: TACBrTEFPGWebAPI.SetPathLib( C:\Program Files (x86)\PayGo\PGWebLib\ )
- TefLog: TACBrTEFPGWebAPI.Inicializar
- TefLog: TACBrTEFPGWebAPI.LoadDLLFunctions - C:\Program Files (x86)\PayGo\PGWebLib\PGWebLib.dll
- TefLog:    PW_iInit
- TefLog:    PW_iGetResult
- TefLog:    PW_iNewTransac
..
- TefLog:    PW_iPPDisplay
- TefLog:    PW_iPPGetUserData
- TefLog:    PW_iPPWaitEvent
- TefLog:    PW_iPPRemoveCard
- TefLog:    PW_iPPGetPINBlock
- TefLog:    PW_iPPCommTest
- TefLog:    PW_iTransactionInquiry
- TefLog:    PW_iPPDataConfirmation
- TefLog:      Função não requerida: PW_iPPDataConfirmation não encontrada em: C:\Program Files (x86)\PayGo\PGWebLib\PGWebLib.dll
- TefLog:    PW_iPPTestKey
- TefLog:    PW_iWaitConfirmation
- TefLog:    PW_iGetOperationsEx
- TefLog:    PW_End
- TefLog: PGWebLib sem atualização
- TefLog: PW_iInit( C:\Program Files (x86)\PayGo\PGWebLib\PGWeb )
- TefLog:   PWRET_WRITERR
- TefLog: EACBrTEFPayGoWeb: Falha de gravação no diretório C:\Program Files (x86)\PayGo\PGWebLib\PGWeb
- Erro ao Inicializar o TEF. Falha de gravação no diretório C:\Program Files (x86)\PayGo\PGWebLib\PGWeb
- StatusOperacao: stsEmConfig

 

Não estou conseguindo evoluir desta situação.

Alguem pode me ajudar?

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
Em 09/04/2024 at 09:51, vagspinello disse:

Estou tendo o problema que ao usar a DLL NOVA, setando o diretório de trabalho, como seguinte:

image.png.77ed006bf5deeb0329c6558521b096c9.png

@vagspinello, O diretório de trabalho, não pode ser uma pasta protegida do Sistema Operacional

O Diretório de trabalho, poderia ser uma subpasta de sua aplicação (isso é o padrão do ACBr, se o diretório do trabalho não for informado)

Você poderia ainda, apontar para uma pasta nova, no Raiz da máquina, veja como está o exemplo do Demo do ACBr

  // -- Exemplo de como ajustar o diretório de Trabalho, da PayGoWeb -- //

  if (ACBrTEFAPI1.TEF is TACBrTEFAPIClassPayGoWeb) then
  begin
    with TACBrTEFAPIClassPayGoWeb(ACBrTEFAPI1.TEF) do
    begin
      DiretorioTrabalho := 'C:\PAYGOWEB';
      //TEFPayGoAPI.PathLib := 'C:\temp\64bits\PGWebLib.dll';  // <--- Permite informar a DLL, usar apenas em Debug
      {$IFDEF DEBUG}
       TEFPayGoAPI.IsDebug := True;
      {$EndIf}
    end;
  end;  

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Moderadores
21 horas atrás, Leonardo Souza disse:

Mesmo problema aqui em homologação. A primeira vez que faço uma comunicação com a dll sempre funciona normal. as seguintes retornam a mensagem "ERRO DE ACESSO  A ARQUIVO". Só volta quando reinicio a máquina.

@vagspinello Você chegou a ter uma solução?

Bom dia

essa situação ocorre se tu fica a todo momento inicializando e desinicializando a dll

ela deve ser chamada ao abrir a aplicação caso use o tef e desinicializada quando fecha o mesmo

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
  • Membros Pro

bom dia, tambem estou tendo muito esse problema nos clientes!  com a mensagem falha de gravação no diretorio, que é o diretório de trabalho do tef, deixo sempre o padrao entao é criado a pasta dentro da pasta de minha aplicacao! sobre ficar inicializando e desinicializando, eu trabalho com modulos no sistema se eu inicializar no inicio da aplicacao ai teria que ter uma forma de compartilhar o handler entre os modulos sem ter que fazer esse processo toda vez, mas ainda continuaria com o problema de ao fechar o sistema totalmente e abrir novamente e isso acontece... tambem tem o problema! alguma sugestao ?

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

vou tentar ser mais claro, meu erp tem um menu principal que é um executavel, e totas as telas do sistema estao em dlls que chamo de modulo ex( modulo estoque/financeiro/faturamento etc), o no modulo faturamento é onde acontece a emissao de notas (nfce, nfe, nfse etc), neste modulo (dll) é onde faço o init no tef pois ele é utilizado na emissao de notas! porem isso so acontece quando o operador entra na tela de emissao de notas, ele sai as vezes para acessar outro modulo com por exemplo estoque para lancar notas de entrada ou financeiro para efetuar recebimento de crediario ou dar baixa em contas a pagar retorno de boletos etc, e ai as vezes acontece ao tentar voltar para tela de faturamento a mensagem de erro: falha de gravação no diretório tal que é o diretorio de trabalho do tef e neste momento somente reiniciando o pc esse problema se resolve! eu nao tinha esse problema antes com a dll do tef versao 15.2 ou 15.1 agora com a nova dll versao 30 isso esta acontecendo muitas vezes, entao vi a mensagem do juliomar dizendo que nao pode ficar inicializando e desinicializando toda hora a dll, porem no meu sistema preciso disso a menos que tivesse entao uma forma de inicializar ela oque demora muitooooo no menu principal do sistema e entao passar para os modulo a instancia do componente acbrtefd ou acbrtefapi que seja para poder continuar trabalhando com ele sem ter que fazer o processo de init etc, espero que tenha me explicado melhor! 

tenho mais um complicador, que as vezes o operador esta na tela de emissao de notas e precisa dar baixa em um crediario e esse sera pago em cartao isso la no modulo financeiro, hoje estou resolvendo da sequinte forma, desinicializo o tef na tela de emissao de notas e inicializo na tela do financeiro recebo o pagamento em tef, emito uma nota NFCe para vincular o pagamento em cartão e no retornar da tela do financeiro desinicializo o tef e inicializo novamente na tela de emissao de notas, esqueci de menciona sou aqui do RS.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

em mercados é bem tranquilo posi o operador nao sai da tela de emissao de notas do pdv, porem em clientes onde o logista tem somente um pc que é para tudo usado!  loja de confeccoes por exemplo, ele precisa lancar notas de compra ele precisa receber crediario uma serie de coisas que precisa sair da tela de emissao de notas!

Link para o comentário
Compartilhar em outros sites

  • Fundadores

@simons, por favor ouça esse PodCast que realizamos com um dos Dev da Setis/PayGo

Ocorre que a DLL segura, irá proteger a Pasta, .EXE e .DLL assim que ela for ativada...

Para remover a proteção, seria necessário chamar PW_End, o que o feito dentro do código de ACBrTEFAPI1.DesInicializar;

 

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

@Daniel Simoessim daniel, ouvi, uma boa noticia seria essa implementacao por parte da paygo de uma funcionalidade para poder enviar qrcode (imagem) via dll do tef paygo para o pinpad que ja é uma demanda a tempo solicitada pela comunidade! vamos ver quanto tempo e se vai andar esse assunto.  minha questão vai um pouco alem disse que é eu poder desinicializar a dll e inicializar quantas vezes eu quiser dentro de minha aplicacao para poder pular de um modulo exemplo faturamento de emissao de notas para outro modulo financeiro recebimento de crediario por exemplo e usar o tef nos dois... sem tomar uma mensagem dizendo que a pasta de instalacao esta bloqueada para gravação ou entao tomar um erro pinpad ao tentar transacionar como se tivesse duas aplicacoes tentando usar a porta do pinpad.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Você poderia usar a integração por TXT...

Mas com a nova DLL segura realmente não será possível carregar a mesma em Threads diferentes, ao mesmo tempo

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

ai que esta, nao estou carregando em threads diferentes, estou fazendo o desinicializar em uma e inicializar em outra, não é ao mesmo tempo, oque parece é que mesmo fazendo o desinicializar a proteção continua ativa!

Link para o comentário
Compartilhar em outros sites

  • Fundadores

podemos ver no Log da PGWebLib, se o PW_End, está sendo chamado..

o log do ACBrTEF, também dará pistas de quais métodos sua aplicação, chamou do componente

Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.