Das war nur ein Pseudocode-Beispiel wie es in der Praxis oft vorkommt und sich viele was drunter vorstellen können. Anstatt der Transaction kann an sich auch irgend ein Object-Create-Free vorstellen.
Bei der Gelegenheit wäre eine Erweiterung von "with" auch praktisch:
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;
Das wünsche ich mir schon lange
In diesem speziellen Fall (und ner kurzen Procedure) kann man natürlich auch "frm" einfach oben definieren. Aber wenn die Procedure länger wird, geht der Zusammenhang schnell verloren.