Оператор
A with
приводит членов данного объекта в область видимости, поэтому вы можете упоминать его поля, методы и свойства, не указывая их имя объекта, которому они принадлежат. Пожалуйста, смотрите с заявлениями в документации.
Одной вещью, которую можно добавить в оператор with
, является объект, который был только что создан. Это тот случай, здесь. Код создает новый объект TQuery
и сразу же неявно использует все его члены. Ссылка на этот объект не хранится ни в одной локальной переменной, поэтому нет явного способа обратиться к нему, но это не беспокоит компилятор. (Тем не менее, это может беспокоить людей, что является одной из причин, по которой вы не сможете использовать with
в Delphi.)
Идентификаторы, которые не принадлежат данному объекту, ищутся в следующей окружающей области видимости. Похоже, что единственный идентификатор из TQuery
, используемый в этом блоке with
, является Eof
, поэтому код, который вы конвертируете, в любом случае, вероятно, неверен. Возможно, было бы лучше просто выяснить, что код должен делать, а затем написать для этого новый код ADO.