Einzelnen Beitrag anzeigen

angos

Registriert seit: 26. Mai 2004
Ort: Rheine
549 Beiträge
 
Delphi 11 Alexandria
 
#6

Re: TQuery zurueckgeben

  Alt 1. Feb 2008, 10:09
Zitat von mashutu:
So als grundsaetzliches Beispiel.

Delphi-Quellcode:
function getMyData(...hier die Bedingungen uebergeben..):TQuery;
var
  ...
begin
   result:=TQuery.create(NIL);
   result.sql.add(...) //SQL zusammenbasteln

   result.open;
end;
So sollte man das nicht machen. Wie soll die TQuery wieder freigegeben werden?

Besser ist es, die TQuery als var-Parameter zu übergeben.

Delphi-Quellcode:
function getMyData(..., aQuery: TQuery): Boolean;
var
  ...
begin
  Result := True;
  Result.sql.add(...) //SQL zusammenbasteln
  try
    result.open;
  except;
    Result := False;
  end;

end;


procedure machwas;
var
  aQuery: TQuery;
begin
  aQuery := TQuery.Create(NIL);
  try
    if getMyData(..., aQuery) = True then
    begin
      // Machwas
    end;
  finally
    aQuery.Close;
    aQuery.Free;
  end;
end;
Ansgar
  Mit Zitat antworten Zitat