Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Aplicación MDI (https://www.clubdelphi.com/foros/showthread.php?t=9606)

JamesBond_Mx 27-04-2004 21:12:57

Aplicación MDI
 
Hola, mas que problema es una duda que tengo, y como no supe en que sección colocarla la pongo aquí, Estoy trabajando con una Aplicación MDI, esta aplicación utiliza varias ventanas MDIChild, (Hasta el momento ya son 20), pero exiesten varias que en apariencia son similares, los mismos controles y componentes, lo que cambia en si, son los filtros aplicados a las consultas, lo que he estado haciendo , es crear un Procedimiento diferente para cada una de las ventanas MDIChild que necesito, y como lo dije al principio ya son 20, esto como que no se me hace muy ortodoxo que digamos, pero el programa funciona, mi duda es que si existe algún modo o metodo para utilizar una sola ventan o form a modo de plantilla y modificar los datos que se utilizan para ejecutar los filtros en tiempo de ejecucion?

Algo asi:

Código:

procedure CreateMDIChild (const Name: string);

Procedure TPrincipal.CreateMDIChild(const Name: string);
var
  Child: TAreas;
begin
  Child:= TAreas.Create(Application);
  Child.Caption:=Name;
end;

procedure TPrincipal.Button1Click(Sender: TObject);
begin
    CreateMDIChild('Datos Por Area');
end;

procedure TPrincipal.Button2Click(Sender: TObject);
begin
    CreateMDIChild('Datos Por Clase'); /Sería la misma MDIChild, pero los parametros para los filtros serían distintos.
end;

Es posible???

__cadetill 27-04-2004 21:19:14

Puedes redefinir el Create de la ventana hija para pasarle, por ejemplo, el filtro y así usar una sola ventana (almenos si te he entendido bien)

Código:

....
  public
    constructor Create(Sender: TObject; str: string); reintroduce;
....

implementation

constructor Create(Sender: TObject; str: string);
begin
  inherited Create(Sender);

  caption := str;
end;

Espero te sirva

JamesBond_Mx 27-04-2004 21:35:17

No entendí... sorry

__cadetill 27-04-2004 23:37:11

Hola James :p

Bueno, yo me refería a que redefinieras el constructor del formulario MDIChild
Es decir, esas linias de código has de ponerlas en el formulario Child, no se si me explico :(

jachguate 28-04-2004 00:02:50

Te recomiendo investigar sobre herencia visual, un mecanismo que permite diseñar un formulario "padre" que contenga los controles comunes a otros formularios... los que solamente especializarán el primero.

Aun en tu caso, si lo único que cambia es un filtro... incluso podrias tener un solo formulario en tiempo de diseño, crear multiples instancias de este en ejecución y asignar dinámicamente el filtro.

Hasta luego.

;)

JamesBond_Mx 28-04-2004 00:36:53

Uy vaya que si está medio complicado el asunto, pero investigaré a ver hasta donde llego.

Muchas gracias a todos


La franja horaria es GMT +2. Ahora son las 06:30:43.

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