Конструкции следующего вида являются источником скрытых ошибок в Delphi, т.к. явно не указано к какому конкретно объекту применяется метод Free поэтому по правилам он применяется к объекту SQL, а не к объекту с типом TQuery.
1 2 3 4 5 6 |
with TQuery.Create(self), SQL do try ... finally Free; end; |