Como criar eventos para componentes ??
Caros colegas..
estou com problemas para criar um evento em um componente desenvolvido por mim..
Eu sei como criar propriedades, mas não consigo criar eventos.. Como fazer??
Agradeço antecipadamente.
Cabelo
estou com problemas para criar um evento em um componente desenvolvido por mim..
Eu sei como criar propriedades, mas não consigo criar eventos.. Como fazer??
Agradeço antecipadamente.
Cabelo
Cabelo
Curtidas 0
Respostas
Beppe
20/04/2004
Eventos nada mais são do que propriedades. Você pode ver um evento como uma propriedade tendo método como tipo.
Comumente, fazemos:
1) Defina o tipo do método:
type
TMeuEvento = procedure(Sender: TObject) of object;
2) Defina a propriedade:
property OnEvento: TMeuEvento read FOnEvento write FOnEvento;
3) Dispare o manipulador:
if Assigned(FOnEvento) then FOnEvento(Self);
Você pode usar um tipo diferente(o usado aqui equivale ao TNotifyEvent), com parâmetros conforme desejado. Note que o [b:22585cb334]of object[/b:22585cb334] faz a mágica dos eventos. Se vc sabe usar eventos, não terá problemas em escrever seus próprios. Se precisar de mais clarificações é só falar... :wink:
Comumente, fazemos:
1) Defina o tipo do método:
type
TMeuEvento = procedure(Sender: TObject) of object;
2) Defina a propriedade:
property OnEvento: TMeuEvento read FOnEvento write FOnEvento;
3) Dispare o manipulador:
if Assigned(FOnEvento) then FOnEvento(Self);
Você pode usar um tipo diferente(o usado aqui equivale ao TNotifyEvent), com parâmetros conforme desejado. Note que o [b:22585cb334]of object[/b:22585cb334] faz a mágica dos eventos. Se vc sabe usar eventos, não terá problemas em escrever seus próprios. Se precisar de mais clarificações é só falar... :wink:
GOSTEI 0