Tema: CPU al 100%
Ver Mensaje Individual
  #7  
Antiguo 22-04-2010
Avatar de erickahr
erickahr erickahr is offline
Miembro
 
Registrado: feb 2010
Posts: 94
Reputación: 15
erickahr Va por buen camino
Hola Neftalí, gracias por la respuesta.

Pues te comento que en los formularios que he modificado, realizo varias operaciones con la BD, hago algunos JOIN con varias tablas, manejo una tabla temporal con un MemData, trabajo con firebird y según entiendo al hacer un commit se afectan los cambios en la base de datos y todo, no obstante tengo una pequeña funcion que se encarga de cerrar todos los componentes que tiene que ver con la BD, no se si es la mejor forma, pero aki lo pongo (ademas igual y le sirve a alguien mas).

Código Delphi [-]
procedure TfrTomaInv.CierraQueries;
var
  I: Integer;
begin
  for I:=0 to ComponentCount-1 do
    begin
    if (Components[i] is TIBTransaction) and (TIBTransaction(Components[i]).InTransaction) then
      TIBTransaction(Components[i]).Commit;
    if (Components[i] is TIBQuery) then
      TIBQuery(Components[i]).Close;
    if (Components[i] is TIBStoredProc) then
      TIBStoredProc(Components[i]).Close;
    if (Components[i] is TIBDataSet) then
      TIBDataSet(Components[i]).Close;
    if (Components[i] is TdxMemData) then
      TdxMemData(Components[i]).Close;
    end;
end;

La mayoria de mis formularios se crean al llamarlos ya que mi aplicacion es MDI, solo tengo un formulario con una grilla de detalle (que es llamado con doble clic desde una cuadricula que muestra la tabla maestro), y uno que nunca visualizo, lo utilizo para llenar un richedit, para imprimir un ticket (cosa con la que por cierto me ayudaste Neftalí ), y claro un modulo de datos que uso para la conexion.

Y GRACIAS por el interes en ayudar, a ver si con esto me encuentras algún fallo. Salu2
__________________
Nadie puede separar su fe de sus actos, o sus creencias de sus afanes
Responder Con Cita