Ir al contenido


Foto

Ocultar Form al mostrarlo


  • Por favor identifícate para responder
2 respuestas en este tema

#1 edorantes

edorantes

    Advanced Member

  • Miembros
  • PipPipPip
  • 78 mensajes

Escrito 29 abril 2013 - 03:26

Hola amigos, alguno de ustedes sabe ¿como ocultar un form al mostrarlo? bueno mi situacion es esta tengo un login que en el evento OnShow  busca en un archivo .ini si es que ya existe un usuario, si es que si lo hay en entonces el form de el login se oculta y manda al formulario principal, pero si no hay usuario entonces se muesta el formulario de login, pero al tratar de ocultar el formLogin me manda un error este en mi codigo, he tratado con Hide y tambien me manda un error.


delphi
  1. procedure TFormlogin.FormShow(Sender: TObject);
  2. begin
  3.  
  4.     archivo := TIniFile.Create(ExtractFilePath(Application.ExeName)+'configuracion.ini');
  5.     if (archivo.ReadString('blabla','blabla','')<>'')and (archivo.ReadString('blabla','blabla','')<>'') then begin
  6.  
  7.       FormMain.Visible := True;
  8.       FormLogin.Visible := False;
  9.    
  10.  
  11.     end;
  12.  
  13.  
  14.  
  15.  
  16. end;


  • 0

#2 cadetill

cadetill

    Advanced Member

  • Moderadores
  • PipPipPip
  • 994 mensajes
  • LocationEspaña

Escrito 29 abril 2013 - 11:06

Buenas,

Una pregunta....  ¿Para qué quieres tener creado el formulario? Es decir, en lugar de ocultarlo ¿Por qué no lo destruyes (y ya lo crearás cuando lo necesites)?

Sea como fuere, el Create o Show no son los sitios adecuados para la destrucción o ocultación de un formulario. Tienes que "esperar" a que éste esté creado y visible para ello. Como no tenemos un evento para este fin, en su día escribí una FAQ para solucionar este problema.

No obstante, tampoco creo que sea la solución más elegante para el problema que planteas. Lo que yo haría es lo siguiente.



delphi
  1. if not TenemosAsignadoUsuario then
  2.   if not Creamos_Y_Mostramos_Pantalla_Usuario then
  3.     ControlDeError;
  4.  
  5. MostramosPantallaPrincipal;



Es decir, antes de crear/mostrar la pantalla de gestión de usuarios haces el control del archivo INI y, según el resultado, actúas.

Espero te sirva

Nos leemos

  • 0

#3 escafandra

escafandra

    Advanced Member

  • Administrador
  • 4.111 mensajes
  • LocationMadrid - España

Escrito 30 abril 2013 - 12:44

Este ejemplo puede ser de tu interés. Muestra  una técnica de login al iniciar la aplicación.


Saludos.
  • 0




IP.Board spam blocked by CleanTalk.