Array
(
)

Criação de Componente!

Katiucy_gyn
   - 26 jan 2006

bom dia a todos,

tenho que fazer um componente que quando coloco ele no form sempre que este form for criado e o componente tiver com a propriedade Active = True uma mensagem será enviada ao usuario, esta mensagem vai ser gerada pelo tal componente depois de fazer o tratamento de algumas variaveis e condições. Bom o componente tá pronto so falta ele ser ativado quando o form for criado ou mostrado.

obrigada, beijos.


Bruno Belchior
   - 26 jan 2006

Reimplemente o método virtual Loaded implementado na classe TComponent...


Radatec
   - 26 jan 2006

Caro colega

Seria interessante se vc coloca-se o fonte do componente para poder analiza-lo.


Tronbr
   - 26 jan 2006

oi linda:wink: , tudo bem, não sabia que tinha voltado a programar. :lol:

blz, como o disse o Bruno Belchior acima, acredito que a melhor forma é utilizar o método virtual Loaded que é chamado assim que o Delphi acaba de ler o .dfm quando carrega o componente. Nunca usei este metodo, mas já vi componentes que utiliza, procurei aki nos meus arquivos um exemplo pra te passar mas naum achei, entao acredito que alguem aki no forum devera passar. até.


Michael
   - 27 jan 2006

Olá!

O melhor jeito de se fazer isso é, como já foi dito pelos meus colegas, através do método Loaded, da classe TComponent.

Porém, vc deve atentar para um detalhe: se a execução do código deve acontecer somente em run-time, então vc precisa fazer uma verificação, através da propriedade ComponentState. Veja:

#Código

if not (csDesigning in ComponentState) then
// Seu código aqui


O método Loaded é chamado após a leitura das propriedades dos componentes salvas no DFM associado à unit, como mencionado pelos meus colegas tbm, e por isso ele é executado tanto em design quanto em run-time.

[]´s