Criação de Componente!

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

Respostas

26/01/2006

Bruno Belchior

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


Responder Citar

26/01/2006

Radatec

Caro colega

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


Responder Citar

26/01/2006

Tronbr

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


Responder Citar

27/01/2006

Michael

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


Responder Citar