Ir para conteúdo
  • Cadastre-se

Daniel Simoes

Fundadores
  • Total de ítens

    29.329
  • Registro em

  • Última visita

  • Days Won

    781

Tudo que Daniel Simoes postou

  1. @Brunocogoo, Fiz testes com Win64 no Lazarus e no Delphi Rio, em ambas IDEs não tive problema em processar o fluxo das transações...
  2. Eu desconfiaria de algo nessa linha... o retaguarda deve estar carregando outra DLL que não a indicada... Faça uma varredura no HD, e veja se acha outras cópias da libxml2.dll e libiconv.dll
  3. Vou fechar o tópico.. creio que deixamos clara a nossa preocupação com quebra de compatibilidade de versões anteriores...
  4. Não notei problema no email recebido...
  5. Por favor faça testes com o Demo do ACBr... Se conseguir reproduzir o problema, informe a configuração e passo a passo.
  6. Vou fazer testes com o Delphi Rio em 64 bits...
  7. Na pasta onde fica o EXE desse retaguarda, está a LibXML2 atualizada ? http://svn.code.sf.net/p/acbr/code/trunk2/DLLs/LibXml2/x86/ (Copie todas as DLLs, da pasta acima)
  8. @Brunocogoo... O tipo em questão é um Array de Record.. e ele já está declarado na função que chama... ou seja, não precisa ser retornado por referência... Você está testando com o TEFDemoNF ? Qual a sua IDE ? Qual a versão da DLL ?
  9. Aqui não tive A.V... o componente acusou corretamente o problema no XML... o mesmo que o Validador do SEFAZ acusou Por favor verifique se seus fontes do ACBr estão corretamente atualizados...
  10. Parece ser um problema (ou incompatibilidade), do XML que você está tentando processar... com a implementação do ACBr... O erro não é o mesmo do tópico (falha na carga das bibliotecas), ou access violation... Trata-se de um exception programado, porque ele não achou uma Tag importante... se possível anexe o XML com problema
  11. O erro indica que essas DLLs não foram carregadas... Experimente baixar do link indicado e substiuir Pode ainda ser a falta do VisualC RunTime: https://github.com/abbodi1406/vcredist/releases
  12. Isso indica a falta das DLLs do OpenSSL, junto do seu .EXE http://svn.code.sf.net/p/acbr/code/trunk2/DLLs/OpenSSL/1.0.2.21/x86/
  13. Obrigado por reportar. Fechando. Para novas dúvidas, criar um novo tópico.
  14. O que estamos vendo.. é que vários pontos do ACBr, tem situações semelhantes... Aparentemente seria um 8 ou 80.. Mas como seria muito trabalhoso, revisar e editar todos os fontes, para que todos se comportem da mesma maneira que você está sugerindo... e como esses fontes já estão assim a anos sem outras reclamações de outros usuários... então, talvez, mesmo parecendo mais correto, a modificação não faça sentido, sem uma revisão completa, de todos os fontes do ACBr
  15. Qual é a especificação do protocolo do servidor, que você quer conectar ?
  16. Se você não usa o ACBrTEFD, pode informar os parâmetros, antes de iniciar a transação, usando o método: PW_iAddParam PW_iAddParam( PWINFO_AUTHSYST, Rede); // Origem: PWINFO_AUTHSYST PW_iAddParam( PWINFO_TRNORIGNSU, NSU); // Mandatorio, Origem: PWINFO_AUTEXTREF PW_iAddParam( PWINFO_TRNORIGDATE, FormatDateTime('DDMMYY', DataHoraTransacao)); // Mandatorio, Origem: PWINFO_DATETIME PW_iAddParam( PWINFO_TRNORIGTIME, FormatDateTime('hhnnss', DataHoraTransacao)); // Mandatorio, Origem: PWINFO_DATETIME PW_iAddParam( PWINFO_TRNORIGAMNT, IntToStr(Trunc(RoundTo(Valor * 100,-2))); // Mandatorio, Origem: PWINFO_TOTAMNT PW_iAddParam( PWINFO_TRNORIGAUTH, CodigoAutorizacaoTransacao); // Mandatorio, Origem: PWINFO_AUTHCODE
  17. Resposta curta: Use o método ACBrTEFD1.CNC Ok, vamos explicar um pouco mais... O ACBrTEFD, tem um método exclusivo para Cancelamento, ACBrTEFD1.CNC, com ele o ACBrTEFD já iniciará uma transação administrativa, com informações suficientes, para localizar a transação no Banco de Dados do Gerenciador TEF, e iniciar o Cancelamento da mesma... Function CNC(const Rede, NSU : String; const DataHoraTransacao : TDateTime; const Valor : Double; CodigoAutorizacaoTransacao: String = '') : Boolean ; Veja abaixo, um exemplo de como você pode chamar o método: ACBrTEFD1.CNC( AResp.Rede, // PWINFO_AUTHSYST AResp.NSU, // PWINFO_AUTEXTREF AResp.DataHoraTransacaoLocal, // PWINFO_DATETIME AResp.ValorTotal, // PWINFO_TOTAMNT AResp.CodigoAutorizacaoTransacao); // PWINFO_AUTHCODE Lembramos entretanto, que cada adquirente, tem um fluxo de Cancelamento de transações, então pode ser que em alguns casos, outras informações sejam solicitadas, pelo Gerenciador TEF, por isso é sempre recomendado, ter o Cupom da Transação original, em mãos... Outro fato, é que sempre será solicitado o cartão do cliente, no final do processo... Ou seja, o Cliente precisa estar presente, para que o cancelamento seja efetuado...
  18. Aqui você está presumindo que o Servidor envia uma String que termina com ETX (#3)... É realmente isso que ele faz ? Você precisa conhecer os detalhes do protocolo de comunicação, antes de tentar implementá-lo... Veja outros métodos de recebimento de dados.. como RecvBufferStr
  19. Mudar nos enumerados, adicionando um item antes, em teoria, não seria um problema... A não ser que algum sistema esteja usando Inteiros e fazento Typecast para os enumerados.. ai sim, os valores ficariam todos errados... A sugestão parece boa.. pois corrige uma informação que não fica condizente no componente, quando a mesma não existe.... mas pode introduzir o risco de quebra de código, mencionado acima...
  20. Não entendi muito bem o post... Você está usando o Demo de conexão do MonitorPLUS, para conectar em qual serviço ? ajudaria se você desse mais informações sobre o servidor que está do outro lado...
  21. Isso realmente não funciona, em algumas versões do windows... Tente usar o método abaixo, da ACBrUtil.pas function ForceForeground(AppHandle:{$IfDef FPC}LCLType.HWND{$Else}THandle{$EndIf}): boolean;
  22. XML foi inventado bem antes de 2018.. e essa Lib foi uma das primeiras a tratar ele com maestria... então SIM, está estável...
  23. a LibXML2 é usada para a validação de schemas.. e usaremos ela no futuro, para ler e gerar XML... ela está estável, e não deve ter atualizações necessárias... Você pode promover a atualização para OpenSSL 1.1.1, e testar... Verifique que essa versão é compilada com uma versão mais nova do Visual C++.. então pode ser necessária a instalação de um novo RunTime https://github.com/abbodi1406/vcredist/releases
  24. como a OpenSSL1.0.X já suporta TLS12, não há muita necessidade de atualização... Promovemos a compatibilidade com OpenSSL 1.1.x, porque no mundo Linux, é difícil achar a versão 1.0.x
  25. Não compreendi, quais são exatamente os erros... ele causa um Exception ? Lê o XML de forma errada ? poderia por favor, descrever melhor o problema ?
×
×
  • 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.

The popup will be closed in 10 segundos...
The popup will be closed in 10 segundos...