Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 11-07-2012
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Poder: 21
El_Raso Va por buen camino
Al crear el formulario ejecuta evento OnShow(), Por qué?

Que tal foristas... mi aplicacion estaba muy bien, me puse a trabajar con HotKey, para poner una tecla de acceso en toda la aplicacion (y total no pude)
y ahora al crear el formulario principal en el fuente del proyecto (.dpr) automaticamente ejecuta el evento OnShow de la Form.

A que se debera eso?

Aqui el codigo... mi Form principal es FMenu, en el OnShow Mando a abrir una Tabla de configuracion y me da un error de acceso negado porque en realidad el DataModule no
esta creado aun.

Alguien por favor que vea el codigo y opine alguna sugerencia.

Código Delphi [-]
      Application.Initialize;
      Application.MainFormOnTaskbar := True;
     if ReadString_Ini(IniFile, 'Setup', 'ModoVisor','No') = 'No' then
        begin
            Sem := CreateSemaphore(nil,0,1,'SIHotel.Exe');
            if ((Sem <> 0) and (GetLastError = ERROR_ALREADY_EXISTS)) then 
            begin
                CloseHandle( Sem );
                MsgError('La Aplicacion ya se está ejecutando!!!');
                Application.Terminate;    
                Exit;
            end; 
         end;
      FSplash := TFSplash.Create(Application);
      FSplash.Show;  
      FSplash.Update;
      Application.Title := 'Sistema de Información de Hotel';
      Application.CreateForm(TFMenu, FMenu);
      FSplash.Gauge.Position := 30;
      FSplash.Update;
      try
         FSplash.Gauge.Position := 50;
         FSplash.Update;
         Application.CreateForm(TTablas, Tablas);
      except
        on E: Exception do 
          begin
            MsgError('Se produjo el siguiente error al crear el modulo de datos'#13+
                     '**** '+E.Message+'****'#13+
                     'Esto provoca que no se pueda iniciar,'+
                     'Si el problema persiste, llamar al soporte');
            Application.Terminate;         
          end;
      end;
      FSplash.Gauge.Position := 50;
      FSplash.Update;
      Application.CreateForm(TFVentaRapida, FVentaRapida);
      FSplash.Gauge.Position := 60;
      FSplash.Update;
      Application.CreateForm(TFBuscaCliente, FBuscaCliente);
      FSplash.Gauge.Position := 70;
      FSplash.Update;
      Application.CreateForm(TFAutorizacion, FAutorizacion);
      FSplash.Gauge.Position := 80;
      Application.CreateForm(TFEntradaSalida, FEntradaSalida);
      FSplash.Update;
      FSplash.Gauge.Position := 90;
      Application.CreateForm(TFDevueltaEfectivo, FDevueltaEfectivo);
      FSplash.Update;
      FSplash.Gauge.Position := 95;
      Application.CreateForm(TFEstadosClientes, FEstadosClientes);
      FSplash.Gauge.Position := 97;
      Application.CreateForm(TFCambioHabitacion, FCambioHabitacion);
      FSplash.Hide;
      FSplash.Free;
      Application.Run;

Última edición por El_Raso fecha: 11-07-2012 a las 17:31:21. Razón: Falta ortografica...
Responder Con Cita
  #2  
Antiguo 11-07-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
El evento OnShow se dispara al abrirse el formulario, lo cual es bastante normal si se trata del formulario principal de la aplicación. Lo habitual es crear los módulos de datos que contienen elementos necesarios para toda la aplicación, antes de crear los formularios.

Saludos.
Responder Con Cita
  #3  
Antiguo 11-07-2012
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Poder: 21
El_Raso Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
El evento OnShow se dispara al abrirse el formulario, lo cual es bastante normal si se trata del formulario principal de la aplicación. Lo habitual es crear los módulos de datos que contienen elementos necesarios para toda la aplicación, antes de crear los formularios.

Saludos.
Gracias Al por contestar... tienes razon, pero lo que me ocurre es que al ejecutarse la linea:

Application.CreateForm(TFmenu, FMenu);

Se ejecuta automaticamente el evento OnShow y ese evento solo debe ejecutarse si le hago un .Show o .ShowModal a la Form. y en mi caso
como Fmenu es mi formulario principal deberia de ejecutarse el OnShow a ejecura Application.Run

Espero darme a entender...
Responder Con Cita
  #4  
Antiguo 11-07-2012
Avatar de Al González
[Al González] Al González is offline
In .pas since 1991
 
Registrado: may 2003
Posts: 5.604
Poder: 29
Al González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en brutoAl González Es un diamante en bruto
Ahora te entiendo.

La diferencia entre un comportamiento y otro reside en la propiedad Visible del formulario principal, seguramente la tienes con un valor de True. Ponla en False antes de compilar, de esta manera se mostrará hasta que sea llamado el método Run del objeto Application.
Responder Con Cita
  #5  
Antiguo 12-07-2012
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Poder: 21
El_Raso Va por buen camino
Cita:
Empezado por Al González Ver Mensaje
Ahora te entiendo.

La diferencia entre un comportamiento y otro reside en la propiedad Visible del formulario principal, seguramente la tienes con un valor de True. Ponla en False antes de compilar, de esta manera se mostrará hasta que sea llamado el método Run del objeto Application.
Hermano Al.... GRACIAS!!! todos los dias aprendemos algo en este foro... Gracias de corazon.
Responder Con Cita
Respuesta



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
Problema: Hilo No ejecuta Procedimiento de su formulario. aoshishin1 Varios 9 11-07-2012 02:27:22
Evento onclick en formulario dinámico jfgaliano OOP 1 23-12-2005 14:05:46
Evento que se ejecuta al Pulsar el boton de Minimizar de una Forma AGAG4 Varios 2 09-10-2004 17:31:38
Evento de formulario posterior a onshow apicito OOP 12 18-06-2004 10:58:20
cual es el evento que se ejecuta al mover la barra de seleccion en un dbgrid soyhugo Varios 3 17-02-2004 17:42:52


La franja horaria es GMT +2. Ahora son las 22:37:40.


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