Ir para conteúdo
  • Cadastre-se

dev botao

Reparando ACBrDFeHttpIndy


gwiethaus
  • Este tópico foi criado há 1654 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Boa noite,

Referente ao mesmo tópico em 

 

Neste link acima, possui as  modificações feitas, em anexo. Não posso me integrar ao SVN pois meu projeto não permite (não tenho uma plataforma separada). Iantegra ACBr -> FastReport Pro -> Teechart Pro

Abaixo as mesmas descrições, espero que respondam.

Eu achei uma indicação pelo componente Indy, na unit IdStackConsts.pas (Indy já instalado original no Delphi 10.3.1)

Na parte:

{
SocketOptionName.SendLowWater;//  Specifies the total per-socket buffer space reserved for receives. This is unrelated to the maximum message size or the size of a TCP window.
SocketOptionName.SendTimeout;//  Send timeout. This option applies only to synchronous methods; it has no effect on asynchronous methods such as BeginSend.
}

...é a único lugar que aparece ou menciona o SendTimeout em todos os módulos dentro da pasta Embarcadero\Studio\20.0\source\soap

Em nenhum outro lugar aparecem estes:

sopa.Soap.SOAPHTTPTrans.THTTPReqResp.SendTimeout
sopa.Soap.SOAPHTTPTrans.CheckContentType

Verifiquei que o evento também foi mudado na nova versão:

de: OnBeforePost(const HTTPReqResp: THTTPReqResp; Data: Pointer);
para: OnBeforePost(const HTTPReqResp: THTTPReqResp; Client: THTTPClient);

Alterei algumas coisas colocando {$IF CompilerVersion >= 33} e compilou direitinho

Parece que estas propriedades e métodos não fazem mais diferença, pois pelo que entendi isto está explicito dentro do Indy além que que já roda em modo assíncrono. Posso estar enganado quanto a isto.

Não sei onde mais estas alterações se fazem necessário, mas de forma paliativa resolveu o meu caso deixando o indy ativo.

Estou enviando em anexo a alteração que fiz e nada mais deu errado. Pelo menos até este ponto.

Procurei em alguns fórum nada muito significativo. O Help que vem com o Delphi 10.3.1 menciona estas funções e propriedades mas não existem nas suas units correspondentes. Não há nenhuma documentação indicando na Embarcadero estas mudanças.

Abaixo link de algumas indicações que falam nos forums:

https://en.delphipraxis.net/topic/524-rio-soap-gzip-response-problem/

https://community.idera.com/developer-tools/programming-languages/f/delphi-rtl/68917/undocumented-change-in-10-3---thttpreqresp-sendtimeout-removed---what-s-the-alternative

 

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

  • Consultores
Em 11/06/2019 at 08:52, gwiethaus disse:

Muito obrigado pela contribuição.
Fiz a implementação baseada nela. Fiz algumas alterações para o código ficar mais padronizado.
Subi as alterações para o SVN na Revisão  17184.
Pelo que vi está tudo certo.
Queira por favor atualizar, testar e reportar qualquer problema.

Mais uma vez obrigado.

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Olá, tive esse problema após atualizar os componentes hoje:

...\acbr trunk2\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(242) Error: $IFEND expected but $ENDIF found
...\acbr trunk2\Fontes\ACBrDFe\ACBrDFeSSL.pas(465) Fatal: Could not compile used unit '..\..\..\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas'

Tem alguma forma de eu arrumar? é que só comentei para verificar se aparecia algum outro erro e passou de boa, sem prejudicar transmissão de notas.

obrigado!

Link para o comentário
Compartilhar em outros sites

Bom dia. Baixei o ACBR hj e esta ocorrendo o erro relatado pelo Jonatas.... Fiz as alterações sugeridas e passou na compilação. Tem que reinstalar todos os componentes ?

Versao do ACBr 17187. 

image.thumb.png.e22dc24b44751a80de7eef3917366205.png

Editado por ALA
Link para o comentário
Compartilhar em outros sites

  • Consultores
1 hora atrás, ALA disse:

Bom dia. Baixei o ACBR hj e esta ocorrendo o erro relatado pelo Jonatas.... Fiz as alterações sugeridas e passou na compilação. Tem que reinstalar todos os componentes ?

Versao do ACBr 17187. 

image.thumb.png.e22dc24b44751a80de7eef3917366205.png

Estou verificando a situação para definir o melhor modo. Só pra confirmar, qual a versão do seu Delphi?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

Bom dia!
Uso Delphi 2010 e está ocorrendo o seguinte erro:
C:\ACBr\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(44) Error: E2029 $IFEND expected but $ENDIF found
C:\ACBr\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(62) Error: E2029 $IFEND expected but $ENDIF found
C:\ACBr\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(157) Error: E2029 $IFEND expected but $ENDIF found
C:\ACBr\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(242) Error: E2029 $IFEND expected but $ENDIF found
C:\ACBr\Fontes\ACBrDFe\ACBrDFeSSL.pas(465) Fatal: F2063 Could not compile used unit '..\..\..\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas'
Compilation failure
Erro ao compilar o pacote "ACBr_DFeComum.dpk".

Editado por cebagodi
Link para o comentário
Compartilhar em outros sites

40 minutos atrás, cebagodi disse:

Bom dia!
Uso Delphi 2010 e está ocorrendo o seguinte erro:
C:\ACBr\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(44) Error: E2029 $IFEND expected but $ENDIF found
C:\ACBr\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(62) Error: E2029 $IFEND expected but $ENDIF found
C:\ACBr\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(157) Error: E2029 $IFEND expected but $ENDIF found
C:\ACBr\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas(242) Error: E2029 $IFEND expected but $ENDIF found
C:\ACBr\Fontes\ACBrDFe\ACBrDFeSSL.pas(465) Fatal: F2063 Could not compile used unit '..\..\..\Fontes\ACBrDFe\ACBrDFeHttpIndy.pas'
Compilation failure
Erro ao compilar o pacote "ACBr_DFeComum.dpk".

Por algum motivo na Unit indicada,  o compilador não esta respeitando o "CompilerVersion", executando o código dentro de " {$IF CompilerVersion >= 33}System.Net.HttpClient,{$ENDIF}" , mesmo que no caso do Delphi 2010 esta variável retornaria 21. 

Link para o comentário
Compartilhar em outros sites

  • Consultores
58 minutos atrás, ALA disse:

Bom dia. Delphi 2007... 

41 minutos atrás, cebagodi disse:

Uso Delphi 2010 e está ocorrendo o seguinte erro:

18 horas atrás, Jonatas Agustiano disse:

Será que podemos deixar o $IFEND padrão?

18 horas atrás, paulorsa disse:

É só alterar a unit ACBrDFeHttpIndy.pas  trocar os $ENDIF  para $IFEND, salvar e instalar

Bom dia a todos. Acabei de corrigir e enviar ao SVN, na revisão 17188.

O fato de as versões mais novas do Delphi e o Lazarus não acusarem o erro é que gerou essa confusão. O pior é que eu testei justamente nas versões que não dão problema.

Esse comportamento foi alterado na versão XE4 para aceitar tanto $ENDIF como $IFEND como terminador do $IF ou $ELSEIF.

Para quem quiser mais informação, veja: http://docwiki.embarcadero.com/RADStudio/Rio/en/Legacy_IFEND_(Delphi)

  • Curtir 2
  • Obrigado 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • 2 meses depois ...
1 hora atrás, gwiethaus disse:

Bom dia, faz um tempo. Eu testei e baixei a nova versão e está funcionando corretamente no Delphi 10.3. Grato por atualizarem no SVN e comentarem os problemas nas versões anteriores do Delphi. É um prazer poder ajudar.

Obrigado por retornar, fechando o tópico... Para nova dúvida, abrir novo tópico.

Att

Ricardo

  • Curtir 1
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1654 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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.