REVELAR

Fórum Redirecionar procedure (???) #320463

02/05/2006

0

Primeiramente, sei que coloquei um péssimo título para o tópico, mas não sabia como definir direito o assunto...

Bem, Tenho na tela principal do meu sistema um MainMenu cheio de itens ligados às suas respectivas actions cujos eventos OnExecute estão devidamente preenchidos. Só que agora calhou de eu ter de fazer uma checagem antes de executar qualquer item pelo menu. Eu só posso permitir executar o OnExecute das actions se o resultado de uma funcao for True. Inicialmente pensei em ir Action por Action adicionando um If, mas queria saber se isso poderia ser feito de alguma maneira mais inteligente e rápida...

Hoje o código está assim:

function MinhaFuncao:Boolean;
begin
   Result := True;
end;

procedure Action1Execute(Sender: TObject);
begin
   Form1.Show;
end;

procedure Action1Execute(Sender: TObject);
begin
   Form2.Show;
end;

procedure Action1Execute(Sender: TObject);
begin
   Form3.Show;
end;


a maneira mais difícil de fazer o que eu quero seria editar um a um, ficando assim:

function MinhaFuncao:Boolean;
begin
   Result := True;
end;

procedure Action1Execute(Sender: TObject);
begin
   if MinhaFuncao then
   Form1.Show;
end;

procedure Action1Execute(Sender: TObject);
begin
   if MinhaFuncao then
   Form2.Show;
end;

procedure Action1Execute(Sender: TObject);
begin
   if MinhaFuncao then
   Form3.Show;
end;


Eu queria tentar criar uma procedure padrão que fizesse a checagem da função e depois de acordo com o Sender redirecionaria o código para a procedure de Execute apropriada, mas não tenho nem idéia de como começar. Alguém poderia tentar me dar uma luz?

Grato.

t+!


Delphi32

Delphi32

Responder

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar