Sobrecarga aninhada com procedure (Form dentro de Layout)

25/04/2017

0

Seguinte galera, estou querendo fazer uma classe no qual eu passe o Form, LayoutContainer ou Form, LayoutContainer e MultiView por parâmetro e dentro dessa classe tenha o método abrir form com os dois tipos de parâmetros.

type
  TFormComp = class
public
  class procedure AbrirForm(AFormClass: TComponentClass; LayoutContainer: TLayout); overload;
  class procedure AbrirForm(AFormClass: TComponentClass; LayoutContainer: TLayout; mvMainMenu: TMultiView); overload;
end;


Procedure 1

class procedure TFormComp.AbrirForm(AFormClass: TComponentClass; LayoutContainer: TLayout);
var
  layoutClient, botaoMainMenu: TComponent;
  fActiveForm                : TForm;
begin

  Application.CreateForm(AFormClass, FActiveForm);
  //encontra o LayoutBase no form a ser exibido para adicionar ao frmPrincipal
  layoutClient := fActiveForm.FindComponent('LayoutClient');
  //if Assigned(layoutClient) then
  LayoutContainer.AddObject(TLayout(layoutClient));

end;


Procedure 2

class procedure TFormComp.AbrirForm(AFormClass: TComponentClass; LayoutContainer: TLayout;
   mvMainMenu: TMultiView);
var
  layoutClient, botaoMainMenu: TComponent;
  fActiveForm                : TForm;
begin
try
  AbrirForm(ComponentClass, Layout);
// Encontra o botão de controle de Menu no form a ser exibido para
// associálo ao multiview do formPrincipal
  botaoMainMenu           := FActiveForm.FindComponent('buttMainMenu');
    //  if Assigned(botaoMainMenu) then
// Associa o BotaMainMenu ao MasterButton botão que inibe o MultiView
  mvMainMenu.MasterButton := TControl(botaoMainMenu);

except on E: Exception do
end;
end;


Como posso resolver dessa forma fornecendo duas opções? Há uma maneira melhor de fazer isso? O objetivo da classe é colocar um form dentro de um layout de outro form anteriormente tava no próprio form mas agora precisa ficar em classe separado esse método.
Filipe Lobato

Filipe Lobato

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

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

Aceitar