Pessoal Nunca tive de criar nada em run-time que precisasse implementar eventos criados também em run-time. E Jamais criei qualquer componente. Agora, me veio uma necessidade de criar um painel de mensagens específico, com as características do sistema, e estou esbarrando em um problema...
Criar o painel em run-time, tudo bem... eu fiz e isso é mole... meu problema é fazer a implementação do método onClick de um determinado botão que está no painel para este fechar... Procurei umas informações sobre o TNotifyEvent, mas não consegui ver como se aplica, pois eles implementam mais exemplos paa a criação de componente, e não é isso que desejo... Quero apenas apresentar um painel partindo de dentro de um procedure que está na minha biblioteca de funções genéricas... Meu código é esse: // Início do Codigo Procedure PainelMensagem(TopMsg, Msg: String; xPai:TWinControl); var Panel1: TPanel; Label1: TLabel; SpeedButton1: TSpeedButton; Panel2: TPanel; Procedure fechapainel; begin Panel1.Visible := False; Panel1.Destroy; end; begin Panel1 := TPanel.Create(application); Label1 := TLabel.Create(application); SpeedButton1 := TSpeedButton.Create(application); Panel2 := TPanel.Create(application); //Panel1.Parent := xPai; with Panel1 do begin Name := 'Panel1'; Parent := xPai; Left := 175; Top := 159; Width := 413; Height := 296; BevelInner := bvLowered; BorderWidth := 3; ParentFont := False; TabOrder := 0; end; with Label1 do begin Name := 'Label1'; Parent := Panel1; Left := 16; Top := 46; Width := 380; Height := 204; Alignment := taCenter; AutoSize := False; Caption := 'Label1'; end; with SpeedButton1 do begin Name := 'SpeedButton1'; Parent := Panel1; Left := 175; Top := 262; Width := 63; Height := 23; Caption := '&Ok'; Flat := True; OnClick := FechaPainel end; with Panel2 do begin Name := 'Panel2'; Parent := Panel1; Left := 5; Top := 5; Width := 403; Height := 29; Align := alTop; Caption := TopMsg; Color := 8404992; ParentFont := False; TabOrder := 0; end; With panel1 do begin Visible := True; Top := Trunc( ((parent.Height - height) / 2) ); left := Trunc( ((parent.width - width) / 2) ); end; end; // Fim do Codigo Está me retornando um erro de Incmpatible types - > 'Method Pointer and regular procedure' Luz pls!!! Sds __________________________________ Emanuel Coutinho Salvador-Ba-Brasil