Membros Pro Clipeus Postado 16 Abril Membros Pro Compartilhar Postado 16 Abril Conforme relatado no discord, ao configurar o componente TACBrTEFAPI para habilitar o modo Debug, através da propriedade "IsDebug", não é possível efetuar a inicialização do TEF. A inicialização só é possível se for editado manualmente a variável de ambiente "PathPGWebLib" para apontar também para a pasta "DEBUG". Segue arquivo de log com teste feito pelo Demo do ACBr LogTEF.txt 1 Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 16 Abril Fundadores Compartilhar Postado 16 Abril Obrigado pelo tópico... Analisando Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 16 Abril Fundadores Compartilhar Postado 16 Abril Reproduzi o problema... verificando com a Setis, se realmente é necessário modificar a variável de ambiente Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 16 Abril Fundadores Compartilhar Postado 16 Abril @Clipeus, A Setis confirmo que realmente será necessário editar a variável de ambiente para usar a versão Debug... Não era assim antes... ;/ Vou ajustar nos fontes do ACBr e subir no SVN para que ele mesmo ajuste a variável quando IsDebug estiver ligado ou desligado 2 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Clipeus Postado 16 Abril Autor Membros Pro Compartilhar Postado 16 Abril Legal, obrigado Daniel. Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 16 Abril Fundadores Compartilhar Postado 16 Abril @Clipeus, por favor teste com a Unit em anexo ACBrTEFPayGoWebComum.pas 1 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Clipeus Postado 17 Abril Autor Membros Pro Compartilhar Postado 17 Abril Boa tarde! Fiz o teste com a unit e funcionou normalmente sim. Obrigado @Daniel Simoes 1 Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Solution Daniel Simoes Postado 17 Abril Fundadores Solution Compartilhar Postado 17 Abril Enviei as alterações ao SVN... Commit [r33340] 1 Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro simons Postado 2 Maio Membros Pro Compartilhar Postado 2 Maio Olá, consigo usar essa propriedade no acbrtefd? Se sim como? Pois preciso Re homologar e no debug estou tendo problemas de erro de comunicação e em release estou tendo problema em erro de ssl não sei se o Acbr está usando a dll de sandbox imagino que seja isso como resolver? Outra dúvida é na minha instalação da dll não tenho essa pasta debug e baixei direto do site da Paygo o instalador alguém tem o link correto? Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 2 Maio Fundadores Compartilhar Postado 2 Maio @simons, atualizei no tópico Se você ainda usa o ACBrTEFD {$IFDEF DEBUG} if (ACBrTEFD1.GPAtual = gpPayGoWeb) then begin ACBrTEFD1.TEFPayGoWeb.PGWebAPI.IsDebug := True; end; {$ENDIF} Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Clipeus Postado 8 Maio Autor Membros Pro Compartilhar Postado 8 Maio @Daniel Simoes hoje notei que o componente não estava alterando novamente a variável para a pasta "DEBUG", e, após fazer alguns testes constatei o seguinte: No constructor da TACBrTEFPGWebAPI ( ACBrTEFPayGoWebComum.pas ), há a seguinte instrução: {$IfDef DEBUG} fIsDebug := True; {$Else} fIsDebug := False; {$EndIf} Aparentemente está certo, pois se identificar que está compilando em modo debug, a variável já é iniciada de forma correspondente. Porém, como está acessando diretamente a variável "fIsDebug", o método "SetIsDebug" não é executado, e, com isso, não ocorre a mudança no path da lib, que é feito apenas através do "SetIsDebug". Alterei o trecho para: {$IfDef DEBUG} IsDebug := True; {$Else} IsDebug := False; {$EndIf} E com isso passou a funcionar corretamente. Segue arquivo com a mudança que fiz. ACBrTEFPayGoWebComum.pas 1 Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 8 Maio Fundadores Compartilhar Postado 8 Maio Você tem razão, que ela fica errada, quando é ligada por compilação... Mas não acho que não seja seguro, rodar o Setter de IsDebug no Create da Classe (pode ter efeitos colaterais e abortar o Create) Mudei o Create, para a seguinte forma: // Definindo IsDebug, baseado no valor atual de PathPGWebLib lPathAtual := GetPathPGWebLib; fIsDebug := (pos(CACBrTEFPGWebDirDebug, lPathAtual) > 0); ACBrTEFPayGoWebComum.pas Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro Clipeus Postado 9 Maio Autor Membros Pro Compartilhar Postado 9 Maio Bom dia @Daniel Simoes Sim.. compreendo que pode ter efeitos colaterais, vou fazer um teste, porém, acredito que agora o componente não irá mais alterar automaticamente para o modo Debug conforme a compilação, vai depender sempre de colocarmos via código no sistema uma atribuição ao IsDebug, antes de inicializar o componente, tanto para ativar quanto para desativar o modo debug. Ex: Teremos que ter uma configuração para ativar/desativar o modo debug dentro dos aplicativos (ou uma outra forma qq de controlarmos isso), e, antes de inicializar o componente, fazer algo assim: ... //Assunindo que "VerParametro" retorna true/false e o aplicativo tenha alguma forma de configurar/identificar se está ou não no modo "debug" if (ACBrTEFAPI.TEF is TACBrTEFAPIClassPayGoWeb) then TACBrTEFAPIClassPayGoWeb(ACBrTEFAPITEF).TEFPayGoAPI.IsDebug:=VerParametro('ModoDebug'); ... ACBrTEFAPI.Inicializar; ... Do contrário, uma vez "ativado" o modo Debug, vai sempre continuar nele e somente após reiniciar o computador que o cliente da PayGo voltará para a pasta original. Na ausência do aplicativo ter algum tipo de configuração, dependerá sempre de alterarmos manualmente a variável de ambiente para ativar/desativar o modo debug... Está correto o meu entendimento? Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 10 Maio Fundadores Compartilhar Postado 10 Maio Você está correto.. vou subir a correção conforme a sua proposta... Commit [r33572] Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro marcelosantos Postado 17 Maio Membros Pro Compartilhar Postado 17 Maio Apenas para ficar registrado 1 - com os fontes atualizados e 2 - se a aplicação for compilada em DEBUG e 3 - se estiver usando a DLL com proteção Warsaw e 4 - a DLL de debug não estiver presente em "C:\Program Files (x86)\PayGo\PGWebLib\DEBUG\PGWebLib.dll" a aplicação vai estourar um erro, e tudo com relação ao TEF para de funcionar começam a acontecer varios Access Violation PS.: Não adianta pegar a DLL de um outro computador e tentar copiar para o local, o Warsaw bloqueia esta operação Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 17 Maio Fundadores Compartilhar Postado 17 Maio 1 hora atrás, marcelosantos disse: 4 - a DLL de debug não estiver presente em "C:\Program Files (x86)\PayGo\PGWebLib\DEBUG\PGWebLib.dll" mas em que situação a DLL não existiria nessa pasta ? Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Membros Pro marcelosantos Postado 17 Maio Membros Pro Compartilhar Postado 17 Maio Em minha maquina de desenvolvimento há alguma incompatiiblidade (silenciosa) na instalação que a pasta e DLL não são criados, há alguns relatos no discord e inclusive a SETIS já respondeu informando que isso ocorre quando há "vestigios" da DLL antiga Não tenho certeza mais: Em testes peguei o instalador e coloquei em uma máquina com instalação do Windows nova, a instalação foi ok, no momento que setei a ferramenta da paygo para DEMO a pasta foi criada junto com a DLL, ou seja, cheguei na conclusão que esta pasta só é criada se ativamos o DEMO na ferramenta da Paygo Link para o comentário Compartilhar em outros sites More sharing options...
Fundadores Daniel Simoes Postado 18 Maio Fundadores Compartilhar Postado 18 Maio Sim, isso pode ser verdade, aparentemente a DLL é escrita no disco, quando o ambiente é modificado Daniel Simões de Almeida O melhor TEF, é com o Projeto ACBr - Clique e Conheça Ajude o Projeto ACBr crescer - Assine o SAC (15) 2105-0750 (15)99790-2976. Link para o comentário Compartilhar em outros sites More sharing options...
Recommended Posts