Ir para conteúdo
  • Cadastre-se

dev botao

Bug No Delphi Xe2


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

Recommended Posts

OFFTOPIC

 

Estou com um novo projeto e comecei uma nova abordagem, como gosto de padronizar o layout das aplicações, criei alguns formularios "base" e apartir deles derivo os efetivos.

 

EX: frmBaseCadastro (controles e eventos padrões que independem da entidade que ira herda-lo), frmBaseConsulta (idem)

 

No Delphi

 

Menu File -> New -> Other (Inheritable Items) e seleciono um dos formulários base.

 

Até aqui tudo bem, ja vinha fazendo isso no D7 e nunca tive problemas, mas hoje me deparei com uma situação estranha, criei um frmConsultaANP derivado do frmBaseConsulta e adicionei algumas colunas em um TJVDBGrid, depois decidi que poderia deixar o grid mais enxuto e tentei remover uma coluna, recebi a mensagem :

 

Error
Selection constains a component introduced in a ancestor form which cannot be deleted.

 

o problema é que o JVDbGrid do formulario base não contém colunas, elas foram criadas no form frmConsultaANP, porntanto, são objetos que não foram herdados e não poderiam apresentar esse comportamento.

 

Pra ter certeza que não estava deixando passar nada, abri outros projetos em que uso a mesma metodologia e tentei simular o problema, no Delphi 7 ele não acontece, só recebo esse tipo de mensagem quando tento excluir um controle que pertence a classe herdada e como a coluna não foi herdada não ocorre o erro.

 

Estou usando o Delphi XE2 Architect Update 4 com o ACBr e JEDI, testei com um TDBGrid e obtive o mesmo problema.

 

Bom é isso, sempre achei complicado migrar de versão, quando sai do Delphi 4 para o Delphi 7 pensei que ia enfartar de tanta dor de cabeça que tive, agora comecei a migrar para o XE2 acreditando que estava fazendo um bom negocio, mas estou vendo que apesar de já possuir 4 Updates a IDE ainda não está 100% confiável.

 

PS : A unica maneira de resolver meu problema foi excluir o grid todo do formulario base, salvar e adicionar outro grid limpo.

Editado por strago
Link para o comentário
Compartilhar em outros sites

Vou reproduzir seus passos aqui e te retorno.

--
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

 

Link para o comentário
Compartilhar em outros sites

strago, reproduzi os passos que vc relatou, e aqui não tive erro algum, estou anexando o demo aqui para vc testar aqui e vê se foi reproduzido como o seu.

 

1 - Form1 Base

2 - Form2 consulta, herdado do base e add 5 colunas

3 - Removido algumas colunas do Form2, tudo ok.

 

a) Veja só, vc pode ir no Form2 e remover as colunas tranquilamente, mas se criar um 3 Form herdado do Form2, e tentar remover, terá o erro reportado por vc.

 

B) Se vc tiver um Form3, Form4 herdado do Form2, e mesmo assim precisar de remover alguma coluna, vá no Form2, remova, depois abra todos os forms que foram herdados dele para que sejam atualizados, com a coluna removida.

 

Herança visual, é um recurso nota 1000 do delphi, mas por ser visual temos que ter atenção no que estamos fazendo.

 

Uma dica não desista, continue tentando se atualizar, se fosse eu iria direto para XE3, mas se não der tente tb o D2010, eu uso ele e é bem estável, mas longe de ser perfeito como todos os softwares. 

 

Grande abraço

 

 

Heranca.zip

--
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

 

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Estive lendo o post e gostaria se é possível o strago responder

Seu RAD Studio é original ou do mercado negro? pois já vi relatos de problemas em função disso!

Ficaria uma dica para instalar a versão trial caso positivo e atualizar e depois efetuar os testes

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

Estive lendo o post e gostaria se é possível o strago responder

Seu RAD Studio é original ou do mercado negro? pois já vi relatos de problemas em função disso!

Ficaria uma dica para instalar a versão trial caso positivo e atualizar e depois efetuar os testes

 

Ainda a versão trial com 10 dias restantes... A intensão era concluir esse projeto que estou trabalhando para avaliar o XE2 e se tudo der certo, morrer em uns 5k em uma licença, mas se continuar aparecendo mais problemas como esse não sei se vai valer a pena.

 

strago, reproduzi os passos que vc relatou, e aqui não tive erro algum, estou anexando o demo aqui para vc testar aqui e vê se foi reproduzido como o seu.

 

1 - Form1 Base

2 - Form2 consulta, herdado do base e add 5 colunas

3 - Removido algumas colunas do Form2, tudo ok.

 

a) Veja só, vc pode ir no Form2 e remover as colunas tranquilamente, mas se criar um 3 Form herdado do Form2, e tentar remover, terá o erro reportado por vc.

 

B) Se vc tiver um Form3, Form4 herdado do Form2, e mesmo assim precisar de remover alguma coluna, vá no Form2, remova, depois abra todos os forms que foram herdados dele para que sejam atualizados, com a coluna removida.

 

Herança visual, é um recurso nota 1000 do delphi, mas por ser visual temos que ter atenção no que estamos fazendo.

 

Uma dica não desista, continue tentando se atualizar, se fosse eu iria direto para XE3, mas se não der tente tb o D2010, eu uso ele e é bem estável, mas longe de ser perfeito como todos os softwares. 

 

Grande abraço

 

O mesmo, peguei seu projeto, contém 2 Forms, o Form 1 sem nenhum controle visual e o Form 2 com um JVDBGrid com 4 colunas, criei um novo form (Form 3) descendente do Form 2 e adicionei mais 2 colunas, compilei e rodei o projeto, voltei a IDE e tentei excluir uma das colunas que adicionei (não as que já existiam) e o erro aparece.

Fiz o mesmo teste que estava fazendo do meu projeto, com um jvdbgrid limpo (sem colunas) (Form 4), criei um novo form (Form 5) herdado de Form 4 e adicionei as colunas, depois de compilar e voltar a IDE, mesmo erro.

Acho que vou abrir uma thread na embarcadero a respeito desse problema.

 

Obs : Segue em anexo o projeto Herança com os meus testes

Heranca.zip

Editado por strago
Link para o comentário
Compartilhar em outros sites

  • Solution

strago, realmente o erro ocorre, mas isso não quer dizer que vc deva desistir, para resolver isso o que penso não ser com frequência, eu faço assim:

 

no form3, pressione Alt+F12, ache o objeto e exclua as colunas desejadas:

 

      item
        Expanded = False
        Visible = True
      end
 

Ao excluir pressione novamente Alt+F12 e verá que o que pretendia fazer via IDE, foi feito via código.

 

Agora uma dica, teste o XE3, e se tiver de comprar compre essa, outra coisa o Delphi é muito dinâmico então não acredito que ele irá te impedir de atualizar seu sistema ,por um bug dele, só se for por algum componente de terceiro.

 

Boa sorte

--
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

 

Link para o comentário
Compartilhar em outros sites

Vlw Isaque, vou testar, o que me incomoda é o fato de uma IDE novinha, ja ter 4 updates e ainda apresentar erros grosseiros como esse, as travadinhas ao carregar alguns formularios, etc, eu tenho o Delphi 7 Enterprise com Update 1 e nunca tive problemas com ele.

Me parece que a Embarcadero assumiu de vez o jeito Microsoft de ser e está correndo contra o tempo pra lançar sempre uma nova versão, mesmo que ela não esteja pronta e depois fica soltando updates sem fim. Com a Borland pelo menos a coisa parecia funcionar mais perto do que se espera, Lançamento de produtos estáveis.

 

Mais uma vez obrigado pela atenção =]

Link para o comentário
Compartilhar em outros sites

  • Moderadores

Olha eu concordo plenamente contigo quanto a quantidade de versões e updates, mas veja, o delphi 7 era "seco" não tinha 20% das tecnologias que o delphi possui hoje, com o aumento de tecnologias, aumenta-se a complexidade e consequentemente os bugs, e comparando-se com outras IDEs pagas a Embarcadero tem feito um bom trabalho de correção e no meu ver é a que possui um melhor "meio de campo" com o desenvolvedor, pois existem diversos canais para relatar bugs.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Link para o comentário
Compartilhar em outros sites

  • Consultores

Deixa eu te dar uma ideia diferente:

  1. Abra o Form3;
  2. Vá janela Structure. (Se não estiver visível Vá no menu View -> Structure ou Alt+Shift+F11);
  3. Encontre no JvDBGrid1 o objeto Columns e dentro dele as colunas;
  4. Apague as colunas que quiser (Botão diereito -> Edit -> Delete);
  5. Compila;
  6. Vai pra galera! (:
  • Curtir 1
  • 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.
Link para o comentário
Compartilhar em outros sites

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