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;