Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 15-09-2007
maxibaco maxibaco is offline
Miembro
 
Registrado: abr 2006
Posts: 10
Poder: 0
maxibaco Va por buen camino
Como puedo luego de abrir un Login, pasar el MainForm al Principal(MDIForm)

Holassssss!!!!

En Principio, y ya de ante mano agradezco el tiempo de cada uno de ustedes en leer mi problema!! Soy fanático de este Foro, y ya he evacuado muchísimas dudas desde que estoy registrado.

Obviamente siempre busco por todos los hilos, hasta que no obtengo respuesta, y es por eso que estoy aquí!!

Tengo el siguiente problema!! Con las malditas aplicaciones MDI.

Es asi, estoy haciendo una aplicacion que al ejecutarla, primero abre la ventana deloguin para introducir usuario y clave como todas. En caso de cancelar se cierra la aplicacion y listo! En caso de aceptar carga el perfil del usuario correspondiente y se habilitan los manues!!

Hasta ahi todo bien, el problema que tengo es que mi FPrincipal, es obviamente el MainForm y esta definido como MDIForm, asi todos los MDIChild se habren dentro de el. Pero encuentro el siguiente problema:

En las opciones del Proyecto, defino el MAINFORM al FLogin, para que se habra pimero, y cuando quiero abrir cualquier child, me tira el siguiente error:

... "Cannot create form. No MDI forms are currently active" ...

Ahora bien.. según lo que entiendo es porque el MAINFORM no es el MDIForm(FPrincipal). Entonces corri el FPrincipal hacia el primer lugar, dejandolo como MAINForm, y anda perfecto!!! Me habre todos los hijos dentro de este.
Hice otra prueba, defini tanto el FLogin como el FPrincipal como MDIForm, y todos los hijos me los abre en el FLogin, con lo cual supuse que toma el padre al MAINFORM.

PREGUNTA:
Como puedo hacer para cambiar de lugar y ponerlo como mainform una vez ejecutado el Login y entrado a la aplicacion? O mejor Dicho, como puedo hacer para que no tire ese error, y tener mi FPrincipal como Padre y todas las ventas como hijas!!!

Mil Gracias!! Saludos a toda la comunidad!!

PD: Una solucion que pense es que el login sea tambien una hija del FPrincipal, pero yo no quiero que se vea detras todo el sistema, sino que aparezca solo la ventana del Login. Se puede hacer?

PD2: Odio los MDIForm y MDIChild!!!!
Responder Con Cita
  #2  
Antiguo 16-09-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Poder: 17
paldave Va por buen camino
Una de las soluciones es esta:
1) Pones en el FLogin la propiedad FormStyle=fsNormal.
2) Pones el FLogin como MainForm.
3) Editas el código del proyecto:
Código Delphi [-]
program Project1;

uses
  Forms,controls,
  FPrincipal in 'FPrincipal.pas' {FPrincipal},
  FLogin in 'FLogin.pas' {FLogin};

{$R *.res}

begin
  Application.Initialize;
  Application.MainFormOnTaskbar := True;
  Application.CreateForm(TFLogin, FLogin);
  FLogin.ShowModal;
  if FLogin.ModalResult <> mrCancel then
  begin
    FLogin.Free;
    Application.CreateForm(TFPrincipal, FPrincipal);
    Application.Run;
  end;
end.
entonces dependiendo de como cierres el formulario FLogin (mrCancel o mrOk) abrirás o no el principal.
No olvides agregar en uses la unidad controls.

Espero te sirva. Saludos.

Última edición por paldave fecha: 16-09-2007 a las 02:01:58.
Responder Con Cita
  #3  
Antiguo 16-09-2007
maxibaco maxibaco is offline
Miembro
 
Registrado: abr 2006
Posts: 10
Poder: 0
maxibaco Va por buen camino
mmmm... hay algo que no esta bien...

Muchas Gracias por responder PALDAVE!!!

Ahi estoy probando pero me tirar error en la linea:

Application.MainFormOnTaskbar := True;

probe con:
Application.MainForm.OnTaskbar := True;

Pero no reconoce el evento OnTaskBar!! Para que se utilizaria??

Ya agregue la uses controls como dice el ejemplo.

M.Gracias!!
Responder Con Cita
  #4  
Antiguo 16-09-2007
Avatar de paldave
paldave paldave is offline
Miembro
 
Registrado: ago 2007
Ubicación: Uruguay
Posts: 148
Poder: 17
paldave Va por buen camino
Eso lo genera automáticamente Delphi 2007.
Si tienes otra versión omite esa línea.
Responder Con Cita
  #5  
Antiguo 16-09-2007
maxibaco maxibaco is offline
Miembro
 
Registrado: abr 2006
Posts: 10
Poder: 0
maxibaco Va por buen camino
Solucionado

ahh....... Con razon!! Sí, estoy usando Delphi 7!!

Bueno querido Paldave.. Funciona perfectamente!!!

Mil gracias por tu ayuda!! Sigo confirmando mi teoria!! Que son los mejores!!

Gracias a Todossssssss!!!!!! Exitos!
Responder Con Cita
  #6  
Antiguo 22-09-2007
Avatar de ixMike
ixMike ixMike is offline
Miembro
 
Registrado: feb 2004
Posts: 1.151
Poder: 22
ixMike Va por buen camino
Bueno,

quizás llego tarde, pero aquí hay algo que igual te sirve de ayuda (ya es un tema que se ha tratado).

Saludos.
Responder Con Cita
  #7  
Antiguo 22-09-2007
maxibaco maxibaco is offline
Miembro
 
Registrado: abr 2006
Posts: 10
Poder: 0
maxibaco Va por buen camino
Gracias Amigo!!!
Todo suma!!!

Un abrazo!
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Formato .pgm ¿Como lo puedo pasar a .jpg? Delphius Varios 4 21-08-2007 21:58:07
Como puedo abrir un PDF desde mi Delphi Shenex Varios 4 26-10-2006 21:43:34
Como puedo pasar de *.dbf a *.db Epunamun Conexión con bases de datos 2 26-09-2005 19:04:18
login desde formulario principal ale21alito Varios 5 21-04-2005 22:02:34
como puedo pasar un quick report a pdf??? merlin Varios 3 11-12-2003 03:52:36


La franja horaria es GMT +2. Ahora son las 17:14:04.


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