Ir para conteúdo
  • Cadastre-se

dev botao

Correção de Warning EACBrDFeException.CreateDef


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

Recommended Posts

Postado

Bom dia
Existe um warning na compilação do ACBr

[dcc32 Warning] W1029 Duplicate constructor 'EACBrDFeException.CreateDef' with identical parameters will be inacessible from C++

Uma solução é utilizar o padrão da embarcadero para evitar o warning. 

Sugestão é criar mais um parâmetro "Dummy" para diferenciar um construtor do outro. 

Ex: Classe TCustomForm
 

image.png.6b52276d208fe054b06f02ce6a5edf46.png

 

ACBrDFeException.pas

  • Curtir 2
  • Fundadores
Postado

O que o Warning está dizendo, é que estamos criando um método com mesmo número e tipo de parâmetros de um método já existente, porém com um nome diferente, e por isso o compilador em C++ irá ignorá-lo, correto ?

A meu ver o Warning não faz sentido... o fato do método ter a mesma entrada de parâmetros, não significa que ele irá fazer a mesma coisa que o outro método...  O nome diferente, já dá a entender isso...

Sua sugestão seria fazermos um Override de um método Virtual, e com isso "sossegar" o Warning...

No Delphi Rio 10.3.3, não existe o CreateNew...

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.

Postado (editado)

@Daniel Simoes 
Estou utilizando Delphi 10.3
É exatamente isso,  não é um problema de compilação é apenas um warning que podemos contornar para para não ficar acusando sem necessidade. 
A embacadero possui várias classes nessa mesma situação de dois construtores e utiliza a solução de criar um parâmetro Dummy. 
A minha sugestão é adotar o mesmo padrão para  evitar um alerta de compilação desnecessário. 

Inclusive já vi no fórum que membros ficam com dúvidas em relação a esse warning e acabam postando dúvidas etc... 


image.png.ed2c6ea73a0bc5bfc335190369135cc5.png
Adicionar isso já resolve

Não é necessário fazer um Override de um método Virtual é apenas adicionar o parâmetro 

Editado por Alisson Souza Pereira
Incompleto.
  • 1 ano depois...
Postado

Bom dia... Topico antigo, mas pelo geito nao resolvido...
 

Há varios dias que tenho esse problema:
image.png.3e97d4d51b669ec8c64f50e34244cf29.png

Só passa se eu der shift+F9... 

Entao coloquei o parametro adicional e resolveu.. Mas provavelmente vou ter q fazer isso sempre q atualizar o repositório...

Nao seria interessante adicionar isso ao projeto?

Att

Magno Costa
 

  • Moderadores
  • Solution
Postado

Não é necessário já que isso só afeta o C++.

E já está sendo desativado o warning por diretivas no ACBr.inc.

No seu caso está gerando erro provavelmente por causa da configuração do seu projeto:

image.png

  • Curtir 2
Equipe ACBr BigWings
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

 

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