Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Problema con Ventasnas / Formas DMI (https://www.clubdelphi.com/foros/showthread.php?t=21111)

Alexander 06-05-2005 19:01:57

Problema con Ventasnas / Formas DMI
 
Hola foro.Tengo una aplicación donde quiero implementar ventanas MDICHild pero no me funciona.Tengo una Forma normal, a la que le cambio su FormStyle a fsMDIForm. Tengo otra forma a la que le cambio su FormStyle a fsMDIChild.
Desde mi primera forma llamo a la segunda de las siguientes maneras:

Código:

if FrmVer = nil then
begin  application.CreateForm(TFrmVer,FrmVer);
  FrmVer.Show;
end;



Código:

Application.CreateForm(TFrmVer, FrmVer);
Código:

with  FrmVer do Begin
ShowModal;
                        Free;
End;



Código:

try
        FrmVer := TFrmVer.Create( Self );
        FrmVer.Show;
  except
  end;



El problema es que me dice que no se puede crear la ventana por que no hay ventanas MDI activas.

Que puedo hacer?

Muchas gracias por sus consultas.

Alexander

dec 06-05-2005 20:37:57

Tal vez me equivoque...
 
Hola,

¿Es posible que estés utilizando el evento OnCreate del formulario "padre"? Creo que el problema está en que cuando tratas de mostrar el formulario "hijo" dentro del "padre" este último no se ha creado todavía, o, de algún modo, no está disponible para acoger dicho formulario "hijo".

Prueba con el evento OnShow del formulario "padre", o, de otra forma en la que sea seguro que dicho formulario "padre" se haya creado, como pueda ser desde un botón, un "item" de algún menú, etc.

Alexander 06-05-2005 22:09:56

Mensaje exacto
 
Ok. La creación de forma MDI la estoy haciendo desde la forma padre, en este sentido ya esta creado el padre.

En el momento que se ejecuta la creación de la ventana manda el error.
Código Delphi [-]
Application.CreateForm(TFrmVerIngresosEmp, FrmVerIngresosEmp);
No se puede crear la forma. Actualmente no hay formas MDI activas.

Que más puedo hacer?

p.d. Muchas gracias por tu ayuda

roman 06-05-2005 22:28:31

No estás contestando a lo que te cuestiona dec. Si TFrmVerIngresosEmp es el formulario principal y en su evento OnCreate intentas crear el formulario hijo entonces te mandará el error. Crea los formularios hijos en otra parte. Además, crearlos en el OnCreate del formulario principal no tiene sentido pues para tal caso mejor déjalos en "AutoCreate".

Por otro lado, es innecesario llamar al método Show del formulario hijo. Los formularios MDIChild no pueden esconderse, siempre están visibles, de manera que apenas lo crees se harán visibles.

// Saludos

Alexander 06-05-2005 22:35:05

Perfecta la aclaración
 
Gracias por tu aclaración. No tengo experiencia en el tema de MDI, no sabia que no necesito, el Show.
Gracias.


La franja horaria es GMT +2. Ahora son las 12:03:53.

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