Zumal mir an dem gegebenen Beispiel nicht so ganz klar wird, wofür das with hier überhaupt gebraucht wird, da beide Elemente (qry und frm) benannt sind und auch als benannte Elemente verwendet werden. Genau genommen hat man auf diese Weise eine Zeile gespart und zwei Keywords hinzugefügt. Aber wie gesagt, das ist ein Thema für sich.
Delphi-Quellcode:
with qry:=TUniQuery.Create(
nil), frm:=TMyForm.Create(
nil)
do // oder frm = ...
try
qry.Connection := Datenmodul.MeineDB;
qry.SQL.Text := '
SELECT bla FROM blubb WHERE fasel';
[...]
frm.Machwas;
frm.ShowModal;
except
on E:
Exception do Blablubb;
finally
frm.Free;
end;
In abgewandelter Form siehts genauso aus und funktioniert sogar, bringt aber genauso wenig Nutzen:
Delphi-Quellcode:
qry:=TUniQuery.Create(
nil); frm:=TMyForm.Create(
nil);
// oder frm = ...
try
qry.Connection := Datenmodul.MeineDB;
qry.SQL.Text := '
SELECT bla FROM blubb WHERE fasel';
[...]
frm.Machwas;
frm.ShowModal;
except
on E:
Exception do Blablubb;
finally
frm.Free;
end;