Ver Mensaje Individual
  #1  
Antiguo 16-08-2008
Avatar de lookmydoom
lookmydoom lookmydoom is offline
Miembro
 
Registrado: abr 2006
Posts: 102
Reputación: 19
lookmydoom Va por buen camino
Question Cerrar un TQuery en un a dll

Buenas!

Tengo una pequeña duda, tengo un a funcion de tipo TQuery en una dll que funciona pero al fijarme el administrador de tareas me di cuenta que nunca libero la conexion, por lo tanto creo y creo conexiones innecesarias y consumo memoria extra.

Código Delphi [-]
Function Query(const DB:string; SQLConsult:String; Execute:Byte):Tquery; stdcall;
begin
  Result:=TQuery.Create(nil);
  with Result do
  begin
    DatabaseName:=DB;
    SQL.Add(SQLConsult);
    case Execute of
      1: Active:=true;
      2: begin
          Open;
          First;
         end;
      3: ExecSQL;
    end;
  end;
end;

En la forma en la que hecha retorna un query correctamane pero jamas lo cierra o libera, obiamente todo esto se soluciona creando una variable de tipo TQuery y asginandosela al result al final de la funcion, pero el lio es tratar de hacerlo sin crear la variable
Responder Con Cita