Descobrir o nome do componente em Runtime

Delphi

01/12/2016

Olá pessoal, boa noite!

Empaquei numa parte do meu projeto que pra muitos de vocês parece ser boba...mas ja estou ficando sem cabelos... kkk... vamos lá!

No meu projeto o form principal tem a hibbon que é criado em runtime, os botões são composto por 3 componentes (Panel, Image e Label), coisa simples, aí tenho vários botões sendo criados dinamicamente como, empresas, provedores, e-mails, etc... no entanto, quando clico no botão (imagem ou label) queria que a panel ficasse visível, embora eu tenha atribuído o "name" na hora de criar a panel eu não consigo pegar para deixar ela visível... o mais perto que consegui foi com o código abaixo.

Tpanel(BotaoHibbon).visible := true;


só que ele deixa o ultimo panel criado em runtime visível... o que eu cliquei não fica... já tentei de outra forma como abaixo... mas sem sucesso.

TPanel(BotaoHibbon.Name['BotaoProvedor']).Visible := True;


só preciso saber uma forma de capturar o nome da panel que eu quero deixar visível.

obrigado por enquanto.
Rafael Panizza

Rafael Panizza

Curtidas 0

Melhor post

Gutierry Pereira

Gutierry Pereira

02/12/2016

Bom dia,
Se você sabe o nome do componente, pode então utilizar o FindComponent.
ficaria assim :
TPanel(FindComponent('Nome_do_componente')).visible := false;

O ideal que se garanta a existencia desse componente.
meuComp = FindComponent('Nome_do_componente');
If assigned(meuComp) then
meuComp.visible := false;

Dessa forma evitará erros de violação de acesso.

Espero ter ajudado.
GOSTEI 1

Mais Respostas

Towerdefense5

Towerdefense5

01/12/2016

This is such a great resource that you are providing and you give it away for free. I love
seeing that understand the value of providing a quality resource for free. :) :)
[url=http://bloonstowerdefense5game.com]bloons tower defense 5[/url]
[url=http://supersmashflash-2.com]super smash flash 2[/url]
GOSTEI 0
Rafael Panizza

Rafael Panizza

01/12/2016

Boa tarde Gutierrydsn!!

Obrigado pela ajuda, deu certinho aqui vlw !!!!
GOSTEI 0
POSTAR