So hätte man das With-Statement auch gestalten und die Unsicherheiten beim Scope vermeiden können:
In Oxygene sieht es so aus:
Delphi-Quellcode:
with x := SomeExpression() do
x.DoSomething();
Man hat also nicht nur eine Variable, sondern diese existiert auch nur innerhalb des Blockes.