Ver Mensaje Individual
  #7  
Antiguo 18-03-2019
cmfab cmfab is offline
Miembro
 
Registrado: jun 2010
Posts: 419
Reputación: 14
cmfab Va por buen camino
Buenos días.

Gracias por responder, les comento que sigo complicado con este asunto que parece tan sencillo.

He decidido crear una unidad aparte para probar la aplicación sin hilos y me doy cuenta que el uso de la memoria aumenta considerablemente hasta que se llega al out memory. acá dejo el código, solo creo un objeto TADOconnection y un TADODataset que se destruyen a ki entender correctamente.

Ya he activado el ReportMemoryLeaksOnShutDown := True y no me arroja ninguna violación de memoria.

Código Delphi [-]
procedure importaDatos(tipoTransaccion:Integer);
var
  tabla: TAdoDataset;
  cone: TAdoConnection;
begin
   cone := TAdoconnection.Create(application);
   cone.ConnectionString := cadenaConexion;
   cone.LoginPrompt := false;
   try
     cone.Connected := true;
     tabla := TAdoDataset.Create(application);
     tabla.Connection := cone;

     if (tipoTransaccion = 0) or (tipoTransaccion = 1) then begin
        conecta.cheq.Close;conecta.cheqDet.Close;
        try
          tabla.close;
          tabla.CommandText := 'Select * from checkLine ';
          tabla.Open;
          conecta.cheqdet.Recordset := tabla.Recordset;
        Except
          on e:Exception do
             InsertaLog ('Error al capturar los detalles de los cheques ' + e.message);
        end;
     end;
   Except
     on e:exception do begin
        InsertaLog('No se pudo establecer la conexion ' + e.Message);
        cone.Free;
        tabla.Free;
        exit;
     end;
   end;
   tabla.close;
   cone.close;
   tabla.free;
   cone.free; 
end;


Este código lo ejecuto cada unos 20 segundos en un Timer
Responder Con Cita