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