Ver Mensaje Individual
  #5  
Antiguo 04-01-2008
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Reputación: 29
Lepe Va por buen camino
Yo uso una pequeña variante de jcarteagaf. Al hacerlo así, tenemos que añadir los "uses" de la ventana que queremos crear; con el tiempo y muchos Forms hijos, acabamos con referencias circulares y un dolor de cabeza.

Código Delphi [-]
type TOpen = (oCliente, oFactura, oProductos);

var  OpenForm : Array [TOpen] of TForm = (TFrmcliente, TfrmFactura, TFrmProductos);

function ShowForm(Abrir : TOpen) :TForm;
begin
 Result := TForm(OpenForm(Abrir)).Create(Application)
end;

El tipo "TOpen" lo añado a una unidad publica.pas (sin form asociado), todas las ventanas hacen uso de ella.

Cada ventana hija, tiene en el Onclose Action := cafree, por lo que se libera de memoria. Tampoco uso las variables globales FrmCliente, FrmFactura que propone delphi.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita