Jump to content

dev botao

Correção de Warning EACBrDFeException.CreateDef


Alisson Souza Pereira
Go to solution Solved by BigWings,
  • Este tópico foi criado há 1226 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

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

  • Like 2
Link to comment
Share on other sites

  • Consultores

Bom dia Alisson,

Muito obrigado pela sua colaboração, assim que possível vamos analisar e estando tudo OK enviaremos para o repositório.

  • Like 1
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

Link to comment
Share on other sites

  • Fundadores

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.

Link to comment
Share on other sites

@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 

Edited by Alisson Souza Pereira
Incompleto.
Link to comment
Share on other sites

  • 1 year later...

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
 

Link to comment
Share on other sites

  • Moderadores
  • Solution

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

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

Projeto ACBr

 

 

Link to comment
Share on other sites

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

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.