PDA

Ver la Versión Completa : Ayuda con Formularios MDI.


BuenaOnda
02-01-2008, 00:59:10
Hola amigos..

Tengo un problemilla (cuando no..jajaj), saben necesito mostrar un formulario Normal (fsNormal) y luego de cerrar este formulario( en este caso solo lo dejo invisible, ya que es el formulario principal), mostrar un Formulario Padre (fsMDIForm), con un menú en el que llamo a los formularios hijos (fsMDIChield). Esto me resulta bien hasta el momento de crear el formulario padre, pero cuando accedo al menu contenido en el formulario padre e intento crear un formulario hijo, me arroja el siguiente error :"Cannot create form No. MDI forms are currently active".

la Idea de esto es crear una ventana de acceso y luego de validar el usuario y la contraseña, mostrar el formulario Padre con sus respectivos menús.

Muchas gracias por su ayuda.:D...

jcarteagaf
02-01-2008, 03:45:19
Hola.

Yo hago lo siguiente en mis programas: MI forma principal es MDIForm y las ventas hijas MDIChild y las ventanas modales Normal, entre estas ultimas la ventana de Login.

En el evento onshow de la ventana principal llamo a una funcion que muestra la pantalla de login, verifica los derechos de acceso del usuario y devuelve True si el usuario tiene acceso o FAlse en caso contrario. Algo asi:


procedure TMain.FormShow(Sender: TObject);
begin
if not FuncionLogin() then
begin
Application.Terminate;
exit;
end;
// el resto del codigo de formshow
....
end;

Espero que te sirva.

Saludos

BuenaOnda
03-01-2008, 01:55:36
Lo que pasa es que yo no quiero mostrar la ventana principal, hasta que se ingresen el usuario y la contraseña en la ventana de acceso.:)

Lepe
03-01-2008, 09:40:29
Si buscas por SplashScreen en el foro, encontrarás como hacerlo, ya que es el mismo sistema, crear el Login en el archivo .dpr de tu aplicación antes de crear el main.

Saludos

jcarteagaf
04-01-2008, 03:11:36
No te preocupes, si lo haces como te indique no se mostrara la forma principal hasta cerrar la forma de Login.

Eso si, la forma de Login la coloco en las formas de creacion manual.

Saludos

jachguate
04-01-2008, 03:21:45
Supongo que el problema, con el método que estas siguiendo en este momento, es que estas creando el formulario de login con Application.CreateForm. No uses el método, sino el constructor de la clase, y luego crea el formulario principal con Application.CreateForm.

Yo lo he hecho así y me funciona de maravilla.

Hasta luego.

;)

jandj
06-06-2008, 20:21:51
Hola tengo el mismo problema pero soy super novato quieren por favor dar una pequeña explicacion clasificada para novatos un poco mas exacta. especialmente el amigo jcarteagaf.


nota: mi problema es exactamente el mismo tengo tres formularios osea
un login que es un form normal, un formprincipal mdi, y otro de tipo child que lo llamo desde un menu. que esta puesto en el formprincipal pero al llamar lo me dice el mismo error: (Cannot create form No. MDI forms are currently active). ojo: el form de login aparece al ejecutar mientras que el formprincipal esta invisible si el login es correcto aparecera el formprincipal hasta hay todo va de maravilla luego voy al menu y llamo al form child y me grita con ese error. por favor si pudieran ser un poco mas claro para un novato con ganas de aprender.

eduarcol
06-06-2008, 20:35:38
bueno, en la wiki (http://wiki.clubdelphi.com/) del club tienes un buen par de ejemplos de lo mismo, busca por login de usuario y ya veras.

jandj
06-06-2008, 20:50:05
[eduarcol] no tengo problemas con el lugin. yo tengo problemas con la llamada del tercer formulario hijo. pero revisare en wiki.clubdelphi.com aver que encuentro.