Criação de componentes em run time

22/10/2016

0

Bom dia pessoal... Eu estou procurando uma solução para o meu problema e preciso da ajuda de vocês :)

No sistema que estou desenvolvendo, preciso que em tempo de execução sejam criados Panel's e Image's relacionados ao cadastro de uma pessoa. Eu li um artigo sobre isso aqui no DevMedia, e encontrei essa matéria...

https://www.devmedia.com.br/criacao-de-componentes-em-tempo-de-execucao/22946

Mas meu caso é diferente... Eu preciso que o form se comunique com o banco ( isso é fácil ), crie uma quantidade de panel de acordo com o resultado da busca e dentro desse panel, tenha a imagem da pessoa ( cadastrada no banco) e seu nome...

Por exemplo...

O select que vou dar no banco me retorna um resultado de três pessoas...

Preciso criar três panel's, cada um com um TImage dentro dele...

É possível galera? Desde já agradeço!
Gustavo Oliveira

Gustavo Oliveira

Responder

Post mais votado

22/10/2016

Opa! Tem como, você pode fazer um loop na sua query para ler registro por registro, e dentro do loop você faz a criação dos componentes em tempo de execução

Jones Granatyr

Jones Granatyr
Responder

Mais Posts

22/10/2016

Gustavo Oliveira

Opa! Tem como, você pode fazer um loop na sua query para ler registro por registro, e dentro do loop você faz a criação dos componentes em tempo de execução


Bacana a ideia mano, vou tentar... Mas só uma dúvida... No caso a minha query seria um select normal?
Responder

22/10/2016

Gustavo Oliveira

Amigão consegui fazer aqui... Muito obrigado mesmo!

Só mais uma coisinha hehe... Eu preciso que ao fechar meu form esses elementos criados sejam destruidos, porque quando abrir novamente o form serão criados outros panels.

Como faço para destrui-los?
Responder

03/11/2016

Araujo Junior.

Existe um componente pouco citado, mas é bem pratico para isso que é o DBCtrlGrid, que voce pode vincular a um DataSet e adicionar um dbimage ou dbedit.
Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar