Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Encontrei problemas para compilar a unit ACBr\Fontes\ACBrNFSe\ACBrNFSeDANFSeQRClass.pas, na procedure TACBrNFSeDANFSeQR.ImprimirDANFSeCampinas, nas versões do Delphi XE2-XE4.

 

Os erros encontrados e as correções que fiz foram:

 

Linha 113:

Antes  :   class procedure ImprimirCampinas(ANFSe           : TNFSe;

Depois:   procedure ImprimirCampinas(ANFSe           : TNFSe;

 

Linha 130:

Antes:     with Create ( nil ) do

Depois:   with TACBrNFSeDANFSeQR.Create ( nil ) do

 

Com estas duas alterações consegui compilar o package para todos o Delphi XE2-XE4.

 

Será que vocês poderiam validar estas alterações e atualizarem no repositório?

 

Obrigado.

ACBrNFSeDANFSeQRClass.pas

Postado

Bom, a cláusula class antes da declaração de uma procedure ou function serve para indicar que o procedimento/função é um método de classe, ou seja, não depende de uma instância de objeto para ser executado, podendo ser executado utilizando a síntaxe TNomeClasse.NomeDoMétodo.

 

Entretanto neste caso específico o procedimento ImprimirCampinas não esta dentro de uma classe, na verdade ele é um procedimento local dentro de outro procedimento. Então quando o Delphi tentava compilar a unit ACBrNFSeDANFSeQRClass.pas ocorria um erro informando que o identificador ImprimirCampinas não havia sido localizado.

Postado (editado)

Fiz uma nova correção nos DPK de relatórios do QuickReport. Os arquivos:

 

ACBR\PACOTES\DELPHI\ACBr_BoletoFC_Quick.dpk

ACBR\PACOTES\DELPHI\ACBrNFe2\ACBrCTeDacteQRpkg.dpk

ACBR\PACOTES\DELPHI\ACBrNFe2\ACBrMDFeDAMDFEQRpkg.dpk

ACBR\PACOTES\DELPHI\ACBrNFe2\ACBrNFeDanfeQRpkg.dpk

ACBR\PACOTES\DELPHI\ACBrNFe2\ACBrNFeDanfeQRpkg_Delphi6.dpk

 

não estavam fazendo referência a runtime library do QuickReport e por esse motivo, apesar de compilar normalmente, quando se abria o Delphi ocorriam vários erros de uma mesma unit estar sendo usado por mais de um package.

 

O que fiz para corrigir o problema foi apenas acrescentar as linhas abaixo na seção requires dos respectivos arquivos DPK:

 

  {$IFDEF VER150} QR5RunD7, vcljpg, visualclx; {$ENDIF} // D7
  {$IFDEF VER170} QR5RunD2005, vcljpg; {$ENDIF} // D2005
  {$IFDEF VER180}
    {$IFNDEF VER185} QR5RunD2006, vcljpg; {$ENDIF} // D2006
  {$ENDIF}
  {$IFDEF VER185} QR5RunD2007, vcljpg; {$ENDIF} // D2007  Diego Gonçalves 25/07/2013
  {$IFDEF VER190} QR5RunD2007, vcljpg; {$ENDIF} // D2007  Diego Gonçalves 25/07/2013
  {$IFDEF VER200} QR5RunD2009, vclimg; {$ENDIF} // D2009
  {$IFDEF VER210} QR5RunD2010, vclimg; {$ENDIF} // D2010
  {$IFDEF VER220} QR5RunDXE, vclimg; {$ENDIF} // XE
  {$IFDEF VER230} QR5RunDXE2, vclimg; {$ENDIF} //XE2
  {$IFDEF VER240} QR5RunDXE3, vclimg; {$ENDIF} //XE3
  {$IFDEF VER250} QR5RunDXE4, vclimg; {$ENDIF} //XE4

 

Mas uma vez peço a ajuda de quem puder aplicar estas atualizações ao repositório.

ACBr.7z

Editado por Francis Silva
  • Curtir 1
Postado

Ótimo trabalho, parabéns pela iniciativa, dessa forma esses pacotes poderão até ser instalados pelo ACBrInstall.

 

Já disponíveis no repositório, e com os créditos merecidos.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Postado

Ótimo trabalho, parabéns pela iniciativa, dessa forma esses pacotes poderão até ser instalados pelo ACBrInstall.

 

Já disponíveis no repositório, e com os créditos merecidos.

 

Muito obrigado.

Postado

Boa noite!

 

Caros Francis e Isaque, depois da revisão 5785, os pacotes "ACBr_BoletoFC_Quick.dpk" e "ACBrCTeDacteQRpkg.dpk" não compilam mais.

No Delphi 7, o QuickReport nativo é a versão 3, então não é possível utilizar a unit "QR5RunD7".

 

Como podemos proceder nesse caso?

 

Abraços

Fabio Schunig

  • Consultores
Postado

Boa noite Fabio,

 

Isso é muito simples de ser resolvido.

 

Abra o pacote de instalação do componente que questão, remova o QR5RunD7 da lista de requeridos, compila o pacote, vai ser solicitado a você que seja Adicionado uma outra unit, você confirma a adição e por fim manda instalar.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

Postado

Abra o pacote de instalação do componente que questão, remova o QR5RunD7 da lista de requeridos, compila o pacote, vai ser solicitado a você que seja Adicionado uma outra unit, você confirma a adição e por fim manda instalar.

 

Bom dia Italo!

 

Sim, eu sei como resolver o erro e compilar o pacote.

Mas minha intenção não era essa ao apresentar o problema.

 

O problema é que o pacote ficou incompatível com a versão nativa do QuickReport.

E acredito que esse não seja um dos objetivos do projeto ACBr, até porque (acho que) a maioria dos desenvolvedores não tenha o QuickReport em versões superiores, causando grande transtorno aos usuários do projeto.

 

Além disso, ficar alterando partes do projeto apenas na minha cópia de trabalho acaba dificultando manter os fontes do ACBr atualizados.

E, como foi uma alteração que mexeu em algo que estava funcionando, acredito que possa haver uma correção para isso via diretivas de compilação, ou até o retorno do código antigo para manter a compatibilidade.

 

Grato pela sua ajuda.

 

Fabio Schunig

  • Consultores
Postado

Bom dia Fabio,

 

Como o Quick Report não vem mais com o Delphi, os componentes que utiliza o Quick Report traz como requisito a ultima versão do mesmo ou seja a versão 5 em seus pacotes de instalação.

 

Sei que o Delphi 7 possui o Quick Report e é a versão 3.0, mas esta versão não permite a geração de arquivos PDF.

 

Sendo assim optou-se por deixar como padrão no pacote de instalação a versão 5 pois esta lhe permite a geração de PDF.

Consultor SAC ACBr

Italo Giurizzato Junior
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

Analista de Sistemas / Araraquara-SP

Araraquara - A era dos Trólebus

  • 1 mês depois ...
Postado

Olá, Italo, conforme sua resposta:

 

Isso é muito simples de ser resolvido.

 

Abra o pacote de instalação do componente que questão, remova o QR5RunD7 da lista de requeridos, compila o pacote, vai ser solicitado a você que seja Adicionado uma outra unit, você confirma a adição e por fim manda instalar.

 

quando remove o QR5RunD7, ao compilar ocorre outro erro nesta linha:

QR5RunD2005, vcljpg; {$ENDIF} // D2005

ABCr_BoletoFC_Quinck

 

Uso delphi7, quickreport 3.0.9

 

existe algum lugar que disponibilize a versão 5 ?

 

Obrigado,

Leão

  • Moderadores
Postado

Olá, Italo, conforme sua resposta:

 

Isso é muito simples de ser resolvido.

 

Abra o pacote de instalação do componente que questão, remova o QR5RunD7 da lista de requeridos, compila o pacote, vai ser solicitado a você que seja Adicionado uma outra unit, você confirma a adição e por fim manda instalar.

 

quando remove o QR5RunD7, ao compilar ocorre outro erro nesta linha:

QR5RunD2005, vcljpg; {$ENDIF} // D2005

ABCr_BoletoFC_Quinck

 

Uso delphi7, quickreport 3.0.9

 

existe algum lugar que disponibilize a versão 5 ?

 

Obrigado,

Leão

No site do fabricante não achou?

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
 

 

  • Este tópico foi criado há 4041 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.