Ver Mensaje Individual
  #8  
Antiguo 14-02-2008
Kenobi Kenobi is offline
Miembro
 
Registrado: mar 2007
Posts: 191
Reputación: 20
Kenobi Va por buen camino
Pues como ya dije....

Hola neftali ....

durante la carga de la aplicacion se crean los distintos formularios asi como el modulo de datos (este va de primero) y dentro de el hay pues tablas y consultas (como 15 o menos de cada uno)

aca va el codigo del dpr

Código Delphi [-]
Var
I:integer;
begin

FrmIntroProgreso:=TFrmIntroProgreso.Create(Application);

FrmIntroProgreso.Show;
FrmIntroProgreso.Update;

    Application.Initialize;
    Application.Title:='Nombre Aplicacion';
    FrmIntroProgreso.AlphaBlendValue:=FrmIntroprogreso.AlphaBlendValue+100;

    Application.CreateForm(TDataSir, DataSir);

    Application.CreateForm(TFrmPrincipal, FrmPrincipal);
    Application.CreateForm(TFrmEst, FrmEst);
  FrmIntroProgreso.AlphaBlendValue:=FrmIntroprogreso.AlphaBlendValue+30;
    Application.CreateForm(TFrmBuscador, FrmBuscador);
    Application.CreateForm(TFrmConst, FrmConst);
  FrmIntroProgreso.AlphaBlendValue:=FrmIntroprogreso.AlphaBlendValue+30;
    Application.CreateForm(TFrmCancelR, FrmCancelR);
    Application.CreateForm(TFrmCancelRL, FrmCancelRL);
  FrmIntroProgreso.AlphaBlendValue:=FrmIntroprogreso.AlphaBlendValue+30;
    Application.CreateForm(TfrmSancion, frmSancion);
    Application.CreateForm(TFrmI, FrmI);
  FrmIntroProgreso.AlphaBlendValue:=FrmIntroprogreso.AlphaBlendValue+30;
    Application.CreateForm(TFrmEg, FrmEg);
    Application.CreateForm(TFrmTrasN, FrmTrasN);
  FrmIntroProgreso.AlphaBlendValue:=FrmIntroprogreso.AlphaBlendValue+30;
    Application.CreateForm(TFrmEgr, FrmEgr);
    Application.CreateForm(TfrmS,FrmS);
    Application.CreateForm(TFrmCr,FrmCr);
    Application.CreateForm(TFrmGr, FrmGr);
 
   
for i:=FrmIntroProgreso.Barra.Position to FrmIntroProgreso.Barra.max do
begin
  FrmIntroprogreso.Barra.Stepby(5);
  sleep(10);

end;  
 FrmIntroProgreso.Hide;
 FrmIntroProgreso.Free;
Application.Run;

end.

y durante la carga del primer form (modulo de datos)
Código Delphi [-]

procedure TDataSir.DataModuleCreate(Sender: TObject);
begin
//.......RUTINA PARA ABRIR BASE DE D. Y TABLAS ..........

try
if not SqlConexion.Connected then SqlConexion.Connected:=true;
except
  application.MessageBox('Imposible conectar con la Base de Datos'+#13+'Intente mas Tarde','Aviso del Sistema',MB_OK+MB_ICONEXCLAMATION);
  application.Terminate;
end;

if Sqlconexion.Connected then
begin
    Tabla1.Open;
    Tabla2.Open;

    tabla3.Open;

    consulta1.Open;
   tabla3.Open;
    tabla4.Open;

     consulta2.Open;
     tabla5.Open;
     consulta3.Open;

     consulta4.Open;
      consulta4.Last;

end;
end;

este codigo como ven se ejecuta durante el create del modulo de datos .

el que sigue es al final (aca no es el problema porque la aplicacion si que cierra )

Código Delphi [-]
procedure TDataSir.DataModuleDestroy(Sender: TObject);
var
i:integer;
//Nombre:string;
begin
if  SqlConexion.Connected then SqlConexion.Connected:=false;

for i:=0 to self.ComponentCount-1 do
begin
   if (self.Components[i] is TDataSet) then

    if Tdataset(Components[i]).Active then Tdataset(Components[i]).Active:=false;

end;
end;

pues este es el codigo principal yo creo que la cosa esta en el modulo de datos ya que se crea primero alli durante la carga de la conexion y tablas lo que no se es identificar que elemento externo a puede estar afectando ..
por eso pregunto de que servicio depende una aplicacion como esta y como detectar si es el servidor de Bd o la red la que esta interfiriendo ....

GRacias ....
Responder Con Cita