Ir para conteúdo
  • Cadastre-se

dev botao

Erro de compilação nos pacotes ACBr_NFSe e ACBr_TEFD


Ver Solução Respondido por EMBarbosa,
  • Este tópico foi criado há 246 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro
Postado

Faltou incluir algumas units em ACBr_NFSe.dpk e ACBr_TEFD.dpk. Compilador de linha de comando do Delphi Rio reclamou que não as encontrava.

Em anexo os arquivos DPK corrigidos. Favor incorporar as alterações no SVN para podermos concluir a atualização do ACBr aqui no ambiente de dev.

ACBr_NFSe.dpk ACBr_TEFD.dpk

logoDW.png.043cb4b50e3275dc9614c728eb3fa617.png

Guilherme Costa

 

  • Moderadores
Postado

Componente ACBrNFSe não é mais suportado a mais de anos no svn

e o ACBrTEFD está ficando obsoleto

uso também compilação via linha de comando mas em nenhum momento está retornando erro

poderia anexar o log do compilador na linha de comando com os erros?

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
 

 

  • Membros Pro
Postado

Obrigado pela resposta Juliomar.

Entendo que os componentes já estejam descontinuados ou defasados, mas se seus códigos fonte ainda fazem parte do repositório, deveríamos deixá-los compilando, certo?

Abaixo a linha de comando que utilizei para reproduzir o problema com o pacote ACBr_NFSe, e em anexo o resultado com o erro. Acontece o mesmo com o outro pacote. Depois que adicionei as units que faltavam, nos arquivos DPK adicionados na abertura do tópico, os erros foram resolvidos.

C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\dcc32.exe ACBr_NFSe.dpk -$D- -$L- -$Y- -B -Z -DRELEASE -LEC:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl -LNC:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp -N0C:\Projetos\Components\ACBr\library\Win32 -IC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source -UC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source -RC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source -NSSystem;System.Win;WinAPI;Vcl;Vcl.Imaging;Vcl.Samples;Vcl.Shell;Data;Data.Win;DataSnap;Xml;Soap;VCLTee;FIBX;Bde;Web

 

dcc32_output_acbr.txt

logoDW.png.043cb4b50e3275dc9614c728eb3fa617.png

Guilherme Costa

 

  • Moderadores
Postado
9 horas atrás, DatawebDev disse:

Obrigado pela resposta Juliomar.

Entendo que os componentes já estejam descontinuados ou defasados, mas se seus códigos fonte ainda fazem parte do repositório, deveríamos deixá-los compilando, certo?

Abaixo a linha de comando que utilizei para reproduzir o problema com o pacote ACBr_NFSe, e em anexo o resultado com o erro. Acontece o mesmo com o outro pacote. Depois que adicionei as units que faltavam, nos arquivos DPK adicionados na abertura do tópico, os erros foram resolvidos.

C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\dcc32.exe ACBr_NFSe.dpk -$D- -$L- -$Y- -B -Z -DRELEASE -LEC:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl -LNC:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp -N0C:\Projetos\Components\ACBr\library\Win32 -IC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source -UC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source -RC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source -NSSystem;System.Win;WinAPI;Vcl;Vcl.Imaging;Vcl.Samples;Vcl.Shell;Data;Data.Win;DataSnap;Xml;Soap;VCLTee;FIBX;Bde;Web

 

dcc32_output_acbr.txt 7.62 kB · 0 downloads

hum entendi.

só mesmo o ACBrNFSe já faz um tempo enão foi mais subido códigos pra eles pelo menos. deveria estar causando erros a tempos pra ti

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
 

 

  • Fundadores
Postado

@DatawebDev, acho que teríamos colisão de pacotes veja...

- Você sugere a inclusão de ACBrTEFAndroid.pas em ACBr_TEFD.dpk
- mas essa Unit já será carregada por DCLACBr_TEFD.dpk, pelo Uses de ACBrTEFDReg.pas

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.

  • Membros Pro
Postado

Uses e contains são coisas diferentes. A unit ACBrTEFAndroid não pode estar no contains de dois packages, mas pode estar no uses de diversas outras units.

O package DCLACBr_TEFD depende (requires) do package ACBr_TEFD, e a unit ACBrTEFDReg contida (contains) no DCLACBr_TEFD usa (uses) uma unit contida (contains) no package ACBr_TEFD.

Podem ser pacotes que já estão em desuso, mas estão quebrando nosso processo de build aqui. Estamos migrando para o Delphi Rio, e a compilação do ACBr tranca por causa desses dois pacotes. Com as correções do primeiro comentário, o ACBr compila no nosso ambiente.

logoDW.png.043cb4b50e3275dc9614c728eb3fa617.png

Guilherme Costa

 

  • Consultores
Postado

@DatawebDev

As compilações de alguns pacotes tem dependências e em algumas situações devem seguir uma ordem para evitar esses problemas.

Se você compilar a DCLACBr_TEFD.dpk antes da ACBr_TEFD.dpk, com a saída da build em uma pasta configurada no source Path do Delphi, provavelmente as dcus da primeira compilação devem resolver os erros da segunda.

Em tempo, o processo que passei antes não irá funcionar, pois o ACBr_TEFD.dpk deve ser compilado antes do DCLACBr_TEFD.dpk.

Não possuo exemplo de TEF, mas possuo um processo de compilação por linha de comando contendo o ACBrNFSe e basta declarar os paths a seguir que a compilação do ACBr_NFSe.dpk funciona corretamente e sem sequência o DCLACBr_NFSe.dpk também.

ACBr/Fontes/ACBrDFe/ACBrNFSe/PCNNFSe
ACBr/Fontes/ACBrDFe/ACBrNFSe

Consegue fazer o teste declarando os paths?

C:\Program Files (x86)\Embarcadero\Studio\20.0\bin\dcc32.exe ACBr_NFSe.dpk -$D- -$L- -$Y- -B -Z -DRELEASE 
-LEC:\Users\Public\Documents\Embarcadero\Studio\20.0\Bpl -LNC:\Users\Public\Documents\Embarcadero\Studio\20.0\Dcp 
-N0C:\Projetos\Components\ACBr\library\Win32 
-IC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source;C:\Projetos\Components\ACBr\Fontes\ACBrDFe\ACBrNFSe\PCNNFSe;C:\Projetos\Components\ACBr\Fontes\ACBrDFe\ACBrNFSe 
-UC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source;C:\Projetos\Components\ACBr\Fontes\ACBrDFe\ACBrNFSe\PCNNFSe;C:\Projetos\Components\ACBr\Fontes\ACBrDFe\ACBrNFSe 
-RC:\Projetos\Components\ACBr\Fontes\ACBrComum;C:\Projetos\Components\ACBr\Fontes\ACBrDiversos;C:\Projetos\Components\ACBr\Fontes\ACBrOpenSSL;C:\Projetos\Components\ACBr\Fontes\ACBrSerial;C:\Projetos\Components\ACBr\Fontes\ACBrTCP;C:\Projetos\Components\ACBr\Fontes\Terceiros\CodeGear;C:\Projetos\Components\ACBr\Fontes\Terceiros\GZIPUtils;C:\Projetos\Components\ACBr\Fontes\Terceiros\json4delphi\src;C:\Projetos\Components\ACBr\Fontes\Terceiros\JsonDataObjects\Source;C:\Projetos\Components\ACBr\Fontes\ACBrDFe\ACBrNFSe\PCNNFSe;C:\Projetos\Components\ACBr\Fontes\ACBrDFe\ACBrNFSe 
-NSSystem;System.Win;WinAPI;Vcl;Vcl.Imaging;Vcl.Samples;Vcl.Shell;Data;Data.Win;DataSnap;Xml;Soap;VCLTee;FIBX;Bde;Web

 

  • Consultores
Postado
15 horas atrás, Daniel Simoes disse:

@EMBarbosa, tem alguma opinião a respeito ?

Eu analisei aqui. As alterações fazem sentido sim...

Verificando os possíveis conflitos, não encontrei nenhum.

Algum outro impedimento de enviar ao SVN?

  • Curtir 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.
  • Membros Pro
Postado
7 hours ago, Daniel Simoes said:

Mas de qualquer forma não faria sentido 2 Packages carregarem uma mesma Unit...

Os pacotes de Design Time precisariam ser revistos

4 hours ago, Juliomar Marchetti said:

Exato, pois no caso de ambos essas units deveriam estar somente no DCLACBr**.dpk e no ACBr**.dpk só deveria conter o anterior

Prezados, na alteração que propus, as units não foram adicionadas nos pacotes DCL*.pas (design time), e sim nos pacotes que estes dependem (requires).

 

Esse design pattern é usado em outros pacotes do projeto, e foi por isso que segui.

Exceto pela unit ACBr*Reg, as demais units ficam no contains do pacote ACBr_*.dpk, e a única unit no contains do pacote DCLACBr_*.dpk é a ACBr*Reg.

O pacote ACBr_*.dpk fica no requires do pacote DCLACBr_*.dpk, e assim o pacote de design time tem acesso as demais units que estão no contains do pacote que não é de design time.

logoDW.png.043cb4b50e3275dc9614c728eb3fa617.png

Guilherme Costa

 

  • Consultores
  • Solution
Postado
Em 18/03/2024 at 19:08, DatawebDev disse:

Faltou incluir algumas units em ACBr_NFSe.dpk e ACBr_TEFD.dpk. Compilador de linha de comando do Delphi Rio reclamou que não as encontrava.

Em anexo os arquivos DPK corrigidos. Favor incorporar as alterações no SVN para podermos concluir a atualização do ACBr aqui no ambiente de dev.

ACBr_NFSe.dpk 4.21 kB · 3 downloads ACBr_TEFD.dpk 3.23 kB · 3 downloads

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

Mais uma vez obrigado.

Em 22/03/2024 at 06:10, Daniel Simoes disse:

Mas de qualquer forma não faria sentido 2 Packages carregarem uma mesma Unit...

Os pacotes de Design Time precisariam ser revistos

Verificado. É importante lembrar que os pacotes Design Time precisam ser recompilados e reinstalados após alteração nos pacotes Run Time.

  • 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.
  • Consultores
Postado

Importante: Tive que fazer uma alteração relacionada ao TEFACBrAndroid porque ele só está disponível para as versões Berlin e superiores do Delphi, devido a compatibilidade do FMX requerido.

[]'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.
×
×
  • 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.