segunda-feira, 22 de dezembro de 2014

Anonymous Methods + Class Helper Delphi + Métodos de Class


Caros, mostrarei como otimizar a chamada dos seus formulários utilizando (Anonymous Methods + Class Helper Delphi + Métodos de Class);

- Crie uma unit, na seção type adicione;

  TMetodo = reference to procedure(Form: TForm);

  TFormsHelper = class helper for TForm
    class function ShowF(Metodo: TMetodo): TModalResult;
  end;
 
- Implementação;

class function TFormsHelper.ShowF(Metodo: TMetodo): TModalResult;
var
  loForm: TForm;
begin
  Result:= mrNone;
  loForm:= Self.Create(Application);
  with loForm do
  begin
    try
      if Assigned(Metodo) then
        Metodo(loForm);
      ShowModal;
    finally
      Result:= ModalResult;
      Free;
    end;
  end;
end;

- Para utilizar o método basta adicionar a unit ao seu form
- Exemplo;

procedure TMain.Button1Click(Sender: TObject);
begin
  if TMeuForm.ShowF(procedure(Form: TForm)
                  begin
                    with TMeuForm(Form) do
                    begin
                      //Suas implementações, exemplo abaixo
                      //Edit1.Text:= 'Develop 001';
                      //Edit2.Text:= 'Develop 002';
                      //Edit3.Text:= 'Develop 003';
                    end;
                  end) = mrOk then ShowMessage('Salvou')
  else ShowMessage('Cancelou');
end;

Nenhum comentário:

Postar um comentário