Ir para conteúdo
  • Cadastre-se

dev botao

Sugestão - Limpeza dos uses de algumas units


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

Recommended Posts

Olá. Gostaríamos de sugerir a limpeza dos uses das units abaixo, para evitar de precisar definir o Unit Scope com "VCL" para compilar no Delphi 10.1 Berlin.
Segue abaixo a relação de cada unit e quais units podem ser removidas sem nenhum impacto:

ACBrCTeDACTEFR.pas = Graphics

ACBrMDFeDAMDFEFR.pas = Forms, Graphics, Dialogs

ACBrMDFeDAMDFEFRDM.pas = Dialogs

ACBrNFeDANFEFR.pas = Forms, Graphics, Dialogs

ACBrNFeDANFEFRDM.pas = Dialogs

ACBrSEF2_BlocoE.pas = Controls


Assim apenas o pacote ACBr_NFeDanfeFR precisa ter esta definição devido ao uses da unit Graphics no arquivo ACBrNFeDANFEFRDM.pas, necessário para o procedimento PintarQRCode.

Link para o comentário
Compartilhar em outros sites

Segue em anexo conforme solicitado. Se achar mais fácil, incluímos um arquivo Patch, que deve ser colocado na raiz da pasta Fontes para que o SVN encontre os arquivos.

Não temos os Delphi's intermediários (2009, por exemplo), mas estas modificações compilaram no Delphi 7 e no Delphi 10.1 Berlin. Apenas para o arquivo do SEF2 é que foi incluída uma diretiva, por causa do TDate ser declarado no Controls no Delphi 7.

limpeza_uses.patch

ACBrCTeDACTEFR.pas

ACBrMDFeDAMDFEFR.pas

ACBrMDFeDAMDFEFRDM.pas

ACBrNFeDANFEFR.pas

ACBrNFeDANFEFRDM.pas

ACBrSEF2_BlocoE.pas

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

  • Moderadores
  • Moderadores

da pasta ACBrDFe

ACBrDFeCapicom.pas

ACBrDFeHttpOpenSSL.pas

ACBrDFeHttpIndy.pas

ACBrDFeHttpWinApi.pas

ACBrDFeOpenSSL.pas

ACBrDFeUtil.pas

ACBrDFeWinCrypt.pas

da pasta ACBrDFe/ACBrNFe

ACBrNFeWebServices.pas

da pasta ACBrDFe/ACBrNFe/DANFe

ACBrNFeDANFEClass.pas

da pasta ACBrDFe/ACBrNFe/DANFe/NFCe/EscPos

ACBrNFeDANFeESCPOS.pas

da pasta ACBrDFe/ACBrNFe/DANFe/NFe/Fortes

ACBrNFeDAInutRL.pas

ACBrNFeDAInutRLRetrato.pas

ACBrNFeDANFeEventoRL.pas

ACBrNFeDANFeRL.pas

ACBrNFeDANFeRLClass.pas

@Juliomar Marchetti

Se por um acaso for no meio algumas units com remoção de hints e preferir não aplicar pode ficar a vontade.

Essas eu postarei no tópico especifico de remoção de hints e warnings.

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

  • Fundadores

Qual a finalidade do código abaixo ?

ACBrDFeHttpOpenSSL.pas

FHTTP.KeepAlive := True;
FHTTP.KeepAliveTimeout := 100;

 

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
Citar

Qual a finalidade do código abaixo ?


ACBrDFeHttpOpenSSL.pas

FHTTP.KeepAlive := True;
FHTTP.KeepAliveTimeout := 100;

 

Eu uso para aproveitar o recurso de keep-alive dos servidor da receita.

Sobrou uma unit com uses desnecessário.

Segue anexo:

 

libxmlsec.pas

Se puder remova o Warning  dessa unit:

 

ACBrDFeXsMsXml.pas

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Enviei a correção para ACBrDFeXsMsXml.pas... em relação a libxmlsec.pas, preferi manter, pois a unit removida do uses, tem código de "initialization" ...

Vou ler mais sobre o KeepAlive, e verificar se não traria algum efeito colateral

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

@Daniel Simoes

A libxslt não é requerida para o funcionamento da validação nem para o envio do xml.

Ela é usada simplesmente para indentação do xml e nesse caso a receita recomenda que o mesmo seja enviado sem essa formatação.

Eu removi a unit libxslt.pas e suas dependências e vou fazer os testes para ter certeza absoluta que sem essa lib os xmls serão assinado, validados e transmitidos corretamente.

Se pude fazer os testes ai teríamos uma contra prova do teste.

Segue units:

libxmlsec.pas

ACBrDFeXsXmlSec.pas

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Tem razão, acho que não fazemos usa da xslt... mesmo a xmlsec, pode ser compilada, sem a dependência dela...

Apliquei a modificação, e também removi a dependência dessa unit dos Packages

 

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

Estranho pois esse componente não faz uso dessa unit!

favor anexar o log do instalador, pois acredito que fez a recompilação após atualizar o svn

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

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

 

Link para o comentário
Compartilhar em outros sites

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

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.

The popup will be closed in 10 segundos...