Criação de Componente!

Delphi

26/01/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.


Katiucy_gyn

Katiucy_gyn

Curtidas 0

Respostas

Bruno Belchior

Bruno Belchior

26/01/2006

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


GOSTEI 0
Radatec

Radatec

26/01/2006

Caro colega

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


GOSTEI 0
Tronbr

Tronbr

26/01/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é.


GOSTEI 0
Michael

Michael

26/01/2006

Olá!

O melhor jeito de se fazer isso é, como já foi dito pelos meus colegas, através do método [b:002ab7d4f6]Loaded[/b:002ab7d4f6], da classe [b:002ab7d4f6]TComponent[/b:002ab7d4f6].

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 [b:002ab7d4f6]ComponentState[/b:002ab7d4f6]. Veja:

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


O método [b:002ab7d4f6]Loaded [/b:002ab7d4f6]é 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


GOSTEI 0
POSTAR