Peço desculpas pela explicação ruim. Vou tentar ser mais claro: copiei apenas a 
parte relevante do código, na qual explico as partes em negrito:

- JvDesktopalert: é o component do Project Jedi, que mostra um aviso semelhante 
ao do MSN Messenger;
- Mens: registro que cria o JvDesktopalert. Como serão criados vários 
dinamicamente, optei por fazer assim.
- alarmes: variável de referência ao record.
- OnMessageClick: Evento nativo do componente JvDesktopalert.
- EventoClick: é o meu evento em si, que teoricamente dispara o OnMessageClick. 
Esse evento está perdido lá embaixo, pois não sei onde colocá-lo.

Espero ter esclarecido. Agradeço antecipadamente qualquer ajuda.




unit un_hospedagens;

interface

uses
  (...), JvDesktopAlert;

type
  TDespertador = record
  Mens      : TJvDesktopAlert;
  end;

  Tfo_hospedagens = class(TForm)
  private
    { Private declarations }
    alarmes : array of Tdespertador;
  public
    { Public declarations }
  end;

var
  fo_hospedagens: Tfo_hospedagens;

implementation

{$R *.dfm}

procedure Tfo_hospedagens.btAlarmeClick(Sender: TObject);
begin
      setlength(alarmes,length(alarmes) + 1);
      with alarmes[high(alarmes)] do
       begin
        Mens := TJvDesktopAlert.Create(self);
        with Mens do
         OnMessageClick := EventoClick;
       end;
     end;
end;


// segue o evento perdido
procedure EventoClick;
var DA: TJvDesktopAlert;
begin
  DA.Close(FALSE);
end;
 



----- Mensagem original ----
De: Davi Eduardo Borges Wall <[EMAIL PROTECTED]>
Para: delphi-br@yahoogrupos.com.br
Enviadas: Quinta-feira, 20 de Setembro de 2007 9:55:06
Assunto: RES: [delphi-br] componentes criados dinamicamente

Cara, você explica muito mal seus problemas.

Mas pelo que consegui entender seu botão está num array de ponteiros?

É só fazer um cast.

De: [EMAIL PROTECTED] os.com.br [mailto:[EMAIL PROTECTED] os.com.br] Em nome de 
Fabinho
Enviada em: quinta-feira, 20 de setembro de 2007 09:46
Para: [EMAIL PROTECTED] os.com.br
Assunto: Res: [delphi-br] componentes criados dinamicamente

Obrigado pela atenção, Ricardo. Mas o problema é que esse meu TButton é criado 
um array dinâmico. Suponho que eu preciso de um desses três:

Criar uma classe para tratar o evento;
Criar um type para tratar o evento;
Criar uma procedure of object para tratar o evento;

E agora?

----- Mensagem original ----
De: Ricardo César Cardoso <ricardo_engsoft@ yahoo.com. br <mailto:ricardo_ 
engsoft%40yahoo. com.br> >
Para: [EMAIL PROTECTED] os.com.br <mailto:delphi- br%40yahoogrupos .com.br> 
Enviadas: Quinta-feira, 20 de Setembro de 2007 9:37:44
Assunto: Re: [delphi-br] componentes criados dinamicamente

Tá na mão:

/*********** ********* ****/
procedure TForm1.FormMouseDow n(Sender: TObject; Button: TMouseButton;
Shift: TShiftState; X, Y: Integer);
var b:tbutton;
begin
b:=Tbutton.create( self);
b.visible:=false;
b.parent:=self;
b.left:=x;
b.top:=y;
b.name:='Btn' +inttostr( contador) ;
b.Caption:=' Clique-me' ;
inc(contador) ;
b.visible:=true;
b.onclick:=clicou; // <= aqui está o que vc precisa. É só descrever o 
procedimento na procedure "Clicou"
end;

procedure TForm1.clicou( sender: TObject);
begin
ShowMessage( 'Clicou!! !');
end;
/*********** ********* ***/

Fabinho <gatascheguei@ yahoo.com. br> escreveu: Senhores, criei um componente 
dinamicamente, mas não consigo associar um evento a ele. Por exemplo, se eu 
criar um TButton, quero criar um evento Onclick pra ele. Como faço?

Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr. com.br/

[As partes desta mensagem que não continham texto foram removidas]

_

Flickr agora em português. Você clica, todo mundo vê. Saiba mais.

[As partes desta mensagem que não continham texto foram removidas]

Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr. com.br/

[As partes desta mensagem que não continham texto foram removidas]

[As partes desta mensagem que não continham texto foram removidas]





      Flickr agora em português. Você clica, todo mundo vê.
http://www.flickr.com.br/

[As partes desta mensagem que não continham texto foram removidas]

Responder a