Ver Mensaje Individual
  #2  
Antiguo 01-03-2011
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Reputación: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Lo que tienes que ver es cuál es el proceso que tarda.
Supongo que al iniciar, abres la base de datos, luego abres varias tablas y luego generas alguna consulta y finalmente pides usuario y contraseña (o lo que sea que haga tu aplicación).

En estos casos, lo que yo hago es pasar con F8 por cada paso y ver cual es el que tarda.

Otra forma, cuando tengo que hacerlo con los datos del cliente y no me puedo traer su base es crear un log.

Yo lo hago más o menos así:
Código Delphi [-]
var
  ts : TStrings;
begin
  {Inicio del programa. Esta es la parte que tarda}
  ts := TStringList.Create;
  ts.Add('Inicio: ' + DateTimeToStr(Now));
  AbreDataBase;
  ts.Add('AbreDataBase: ' + DateTimeToStr(Now));
  AbreTabla1;
  ts.Add('AbreTabla1: ' + DateTimeToStr(Now));
  AbreTabla2;
  ts.Add('AbreTabla2: ' + DateTimeToStr(Now));
  AbreTabla3;
  ts.Add('AbreTabla3: ' + DateTimeToStr(Now));
  GeneraEntrada;
  ts.Add('GeneraEntrada: ' + DateTimeToStr(Now));
  ts.SaveToFile('tiempos.log');
  ts.Free;
  {A partir de aqui todo corre correctamente}
  ...
end;

Me ha sucedido que mis programas, a medida que se utilizan, las aperturas son más lentas. La solución es abrir solo lo necesario para iniciar la aplicación y abrir los datos necesarios para cada Form cuando se necesiten.
Responder Con Cita