Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Método para llamar a Formularios ya creados (https://www.clubdelphi.com/foros/showthread.php?t=90318)

alebritez 17-05-2016 03:57:26

Método para llamar a Formularios ya creados
 
Buenas Amigos,
Necesito saber el código para llamar a un Formulario YA CREADO desde un Unit.pas que es exclusivo para métodos.

En mi Formulario principal donde está mi menú, haciendo Click en uno de los Sub-Menus, voy a ejecutar el código de llamada para abrir un Formulario, nada más que éste (el código) va a estar ubicado en un Comunidad.pas (unit) Exclusivo donde estarían todos mis métodos, esto para no tener que escribir mil veces el mismo código de llamada en cada formulario.

He probado este codigo DENTRO del formulario al cual voy a llamar y abrir y me funciona:

Código Delphi [-]
var
  frmPrincipal: TfrmPrincipal;

implementation

{$R *.dfm}

uses
  frmMantenimientoHermanoUt; // Nombre del formulario al cual voy a llamar

procedure TfrmPrincipal.mnuMHHermanosClick(Sender: TObject);
begin
  Application.CreateForm(TfrmMantenimientoHermano, frmMantenimientoHermano);
  frmMantenimientoHermano.Show;
end;

Me funciona perfecto el código y me lo abre.. No así en el Unit de Métodos. Como dije, para no tener que escribir mil veces el código en todos los formularios que voy a utilizar, quiero hacer un código dentro del Unit que es netamente para métodos para llamar a varios formularios, los cuales voy a usar mucho.

Agradezco sus ayudas o aportes..

rocksoft 17-05-2016 04:35:58

Hola alebritez

Código Delphi [-]
// Para tu Unit.pas
Procedure ShowModalMod(aForm: TFormClass);
var
  SModal: TForm;
begin
  SModal := aForm.Create(nil); // Lo creas
  try
    SModal.showmodal; // o show a secas
  finally
    SModal.Free; // Lo libreas
  end;
end;


Código Delphi [-]
// Para tu MainUnit
procedure MainUnit.Action1Execute(Sender: TObject);
begin
ShowModalMod(TMyFormulario);
end;

alebritez 17-05-2016 05:48:50

Gracias rocksoft,
ya me funcionó.. :D^\||/


La franja horaria es GMT +2. Ahora son las 18:08:56.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi