Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Form Autocreados al inicio... (https://www.clubdelphi.com/foros/showthread.php?t=72118)

verito_83mdq 28-01-2011 14:47:12

Form Autocreados al inicio...
 
Holaaa!! Como andan?? Acá me surgió una duda, quería saber si es posible tener solamente a un DataModule en AutoCreate.

El asunto es que en ese DataModule tengo al Zconnection y dependiendo si hay conexión o no, voy a llamar a diferentes form.

Si hay conexión llamo al form login en el cual me logeo y entro al sistema y si no hay conexión llamo a otro form en el cual puedo ingresar los datos del Zconexion.

El problema que me surge es que compila bien la aplicación pero cuando ejecuto inicia no se ve nada y termina, sin ningún error.

Por eso me surgió esa duda. Si necesitan código me dicen y agrego.
Desde ya muchas Gracias!!!!:)

Aleca 28-01-2011 15:27:41

creo que te va convenir crearlo en el oncreate del formulario principal.

verito_83mdq 28-01-2011 15:53:07

Hola Alecaa!! Como andas?? Primero gracias por ayudarme siempre, segundo lo hice andar. Agrego el código para que lo vean, tengo miedo de que me genere problemas,pero por ahora me anda bien.

Este el el Dpr el pp, lo que hace es mostrar un spash, despues me carga los dos Modulos, el de la base , y el de los Query.

Código Delphi [-]
begin 
 
 
  SplashForm := TSplashForm.Create(Application); 
  SplashForm.Show; 
  SplashForm.Update; 
  Application.Initialize; 
  Application.Title := 'SiTiC'; 
  Application.CreateForm(TBaseDataModule, BaseDataModule); 
  Application.CreateForm(TQueryDataModule, QueryDataModule); 
  SplashForm.Hide; 
  SplashForm.Free; 
  Application.Run; 
 
 
end.


Despues en el Form Create del Base Module tengo este codigo: si anda la conexión me crea el login y sino me manda a otro form para cambiar los datos del Zconex.
Lo que cambie para que ande es:

Esto
Código Delphi [-]
IngresoForm:=TIngresoForm.Create(Application);


Por esto
Código Delphi [-]
Application.CreateForm(TIngresoForm, IngresoForm)


Acá se puede apreciar:

Código Delphi [-]
procedure TBaseDataModule.DataModuleCreate(Sender: TObject); 
begin 
 
          with BaseDataModule.ZConnection1 do 
            begin 
               If Connected then Disconnect; 
               HostName:='localhost'; 
               Catalog:='base'; 
               Database:='base'; 
               Port:=3306; 
               User:='root'; 
               Password:='123'; 
               try 
                     Connected:=True; 
                     if Connected = true then 
                        begin 
                           Application.CreateForm(TIngresoForm, IngresoForm); 
 
                        end; 
 
               except 
 
                    Application.CreateForm(TConexionForm, ConexionForm); 
 
                end; 
 
            end; 
 
 
end; 
 
end.


La duda es: cual es la diferencia entre estas dos Sentencias??

Código Delphi [-]
IngresoForm:=TIngresoForm.Create(Application);


Código Delphi [-]
Application.CreateForm(TIngresoForm, IngresoForm)


Desde ya muchas Gracias!!!!!!

Chris 28-01-2011 16:10:06

No hay ninguna diferencia. Simplemente son distintas formas de programar.

Saludos,
Chris


La franja horaria es GMT +2. Ahora son las 15:07:57.

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