Function publica p/ utilizar diretamente nos eventos

Delphi

27/06/2004

Olá pessoal!

Gostaria de ´enxugar´ o código de um programa, e pensei se é possível fazer com que uma função que criei fique disponível para seleção diretamente na guia ´Events´ do Object Inspector. Ou seja, eu crio a função de nome ´FunctionX´ (por exemplo), depois adiciono um Button ao form. Em seguida vou até o evento OnClick do Button, na guia Events do Object Inspector, e seleciono ´FunctionX´.

É possivel fazer isso? Tem que declarar a função em algum lugar diferente do Public ou Private?

Obrigado.
wbb


Wbb

Wbb

Curtidas 0

Respostas

Bon Jovi

Bon Jovi

27/06/2004

Sim, no mesmo local onde o Delphi declara em tempo de design.
  TForm1 = class(TForm)
    Button1: TButton;
    procedure FunctionX(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

implementation

{$R *.dfm}

procedure TForm1.FunctionX(Sender: TObject);
begin
  //...
end;

Mas eu particularmente nunca gostei de usar dessa forma, prefiro setar em tempo de código. Sou meio anti-DFM.
procedure TForm1.FormCreate(Sender: TObject);
begin
  Button1.OnClick := FunctionX;
end;



GOSTEI 0
Beppe

Beppe

27/06/2004

Complementando o que o Bon Jovi disse, preste atenção nos parâmetros da função, nem sempre é só Sender: TObject


GOSTEI 0
Wbb

Wbb

27/06/2004

Obrigado pela ajuda.

wbb


GOSTEI 0
Paulo_amorim

Paulo_amorim

27/06/2004

Complementando o que o Bon Jovi disse, preste atenção nos parâmetros da função, nem sempre é só Sender: TObject


Olá

Complementando oque o Beppe estava complementando o que o Bon Jovi disse ( :roll: ), deve-se ver qual o tipo do evento. No caso do onClick, é TNotifyEvent e por isso eh Sender: TObject...

Sempre bom ver no Help o tippo do evento (com os parametros que precisam)

Até+


GOSTEI 0
POSTAR