Vlw pela dica, vou testar ...
_____ De: delphi-br@yahoogrupos.com.br [mailto:[EMAIL PROTECTED] Em nome de Joao Morais Enviada em: quarta-feira, 13 de dezembro de 2006 11:14 Para: delphi-br@yahoogrupos.com.br Assunto: Re: [delphi-br] Padrão Observer - Andreano, essa acho que é pra ti ! anderson wrote: > Alguém já tentou usar o padrão Observer usando o template do Delphi 2006, > naum funciona, nem a rotina de Deletar Observer, nem a rotina de Update dos > Observer, segue o código inteiro gerado pelo próprio Delphi e que não > funciona ... Faz um teste com o Notifier do Press. Você não precisa usar o framework pra usar um notificador, basta dar um uses no PressNotifier. Ele utiliza o padrão publish-subscriber -- cá estão algumas vantagens comparado ao padrão observer (das que eu lembrei agora): 1. você pode (deve) criar uma classe de notificação customizada, portanto, pode transportar dados dentro dos eventos; 2. você pode ouvir um evento específico, ou um evento de um objeto específico, ou selecionar eventos de um objeto que você queira ouvir, etc. 3. você pode enfileirar eventos para serem disparados apenas quando a aplicação entrar em modo Idle; 4. observadores podem escutar vários eventos bem como um objeto pode disparar vários tipos de eventos distintos; Exemplo de uso: Unit com a classe do evento: uses PressNotifier; TEventoEvent = class(TPressEvent); ===== Unit com a chamada: uses UnitDoEvento; ... TEventEvent.Create(Self).Notify; ===== Unit que vai escutar a notificação: uses PressNotifier; TSuaClasse = class() private FNotifier: TPressNotifier; procedure Notify(AEvent: TPressEvent); ... uses UnitDoEvento; procedure TSuaClasse.Create; begin inherited; FNotifier := TPressNotifier.Create(Notify); FNotifier.AddNotificationItem(ObjOuNil, [TEventoEvent]); end; procedure TSuaClasse.Destroy; begin FNotifier.Free; inherited; end; procedure TSuaClasse.Notify(AEvent: TPressEvent); begin if AEvent is TEventoEvent then begin // tratar o evento end; end; às ordens, -- João Morais [As partes desta mensagem que não continham texto foram removidas]