Ver Mensaje Individual
  #1  
Antiguo 11-07-2012
El_Raso El_Raso is offline
Miembro
 
Registrado: oct 2003
Posts: 135
Reputación: 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