Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-04-2004
Avatar de JamesBond_Mx
JamesBond_Mx JamesBond_Mx is offline
Miembro
 
Registrado: jul 2003
Ubicación: Poza Rica, Veracruz, México
Posts: 81
Poder: 21
JamesBond_Mx Va por buen camino
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???
Responder Con Cita
  #2  
Antiguo 27-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 27-04-2004
Avatar de JamesBond_Mx
JamesBond_Mx JamesBond_Mx is offline
Miembro
 
Registrado: jul 2003
Ubicación: Poza Rica, Veracruz, México
Posts: 81
Poder: 21
JamesBond_Mx Va por buen camino
No entendí... sorry
Responder Con Cita
  #4  
Antiguo 27-04-2004
__cadetill __cadetill is offline
Miembro
 
Registrado: may 2003
Posts: 3.387
Poder: 24
__cadetill Va por buen camino
Hola James

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
Responder Con Cita
  #5  
Antiguo 28-04-2004
Avatar de jachguate
jachguate jachguate is offline
Miembro
 
Registrado: may 2003
Ubicación: Guatemala
Posts: 6.254
Poder: 27
jachguate Va por buen camino
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.

__________________
Juan Antonio Castillo Hernández (jachguate)
Guía de Estilo | Etiqueta CODE | Búsca antes de preguntar | blog de jachguate
Responder Con Cita
  #6  
Antiguo 28-04-2004
Avatar de JamesBond_Mx
JamesBond_Mx JamesBond_Mx is offline
Miembro
 
Registrado: jul 2003
Ubicación: Poza Rica, Veracruz, México
Posts: 81
Poder: 21
JamesBond_Mx Va por buen camino
Uy vaya que si está medio complicado el asunto, pero investigaré a ver hasta donde llego.

Muchas gracias a todos
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 06:10:29.


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
Copyright 1996-2007 Club Delphi